/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* DAG Instruction Selector for the Mips target                               *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

// *** NOTE: This file is #included into the middle of the target
// *** instruction selector class.  These functions are really methods.

// If GET_DAGISEL_DECL is #defined with any value, only function
// declarations will be included when this file is included.
// If GET_DAGISEL_BODY is #defined, its value should be the name of
// the instruction selector class. Function bodies will be emitted
// and each function's name will be qualified with the name of the
// class.
//
// When neither of the GET_DAGISEL* macros is defined, the functions
// are emitted inline.

#if defined(GET_DAGISEL_DECL) && defined(GET_DAGISEL_BODY)
#error GET_DAGISEL_DECL and GET_DAGISEL_BODY cannot be both defined, undef both for inline definitions
#endif

#ifdef GET_DAGISEL_BODY
#define LOCAL_DAGISEL_STRINGIZE(X) LOCAL_DAGISEL_STRINGIZE_(X)
#define LOCAL_DAGISEL_STRINGIZE_(X) #X
static_assert(sizeof(LOCAL_DAGISEL_STRINGIZE(GET_DAGISEL_BODY)) > 1,
   "GET_DAGISEL_BODY is empty: it should be defined with the class name");
#undef LOCAL_DAGISEL_STRINGIZE_
#undef LOCAL_DAGISEL_STRINGIZE
#endif

#if !defined(GET_DAGISEL_DECL) && !defined(GET_DAGISEL_BODY)
#define DAGISEL_INLINE 1
#else
#define DAGISEL_INLINE 0
#endif

#if !DAGISEL_INLINE
#define DAGISEL_CLASS_COLONCOLON GET_DAGISEL_BODY ::
#else
#define DAGISEL_CLASS_COLONCOLON
#endif

#ifdef GET_DAGISEL_DECL
void SelectCode(SDNode *N);
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
{
  // Some target values are emitted as 2 bytes, TARGET_VAL handles
  // this. Coverage indexes are emitted as 4 bytes,
  // COVERAGE_IDX_VAL handles this.
  #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
  #define COVERAGE_IDX_VAL(X) X & 255, (unsigned(X) >> 8) & 255, (unsigned(X) >> 16) & 255, (unsigned(X) >> 24) & 255
  static const uint8_t MatcherTable[] = {
 OPC_SwitchOpcode , 37|128,7, TARGET_VAL(ISD::STORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 73|128,1,
   OPC_RecordChild1,
   OPC_Scope, 120,
    OPC_CheckChild1Type, MVT::f64,
    OPC_Scope, 77,
     OPC_RecordChild2,
     OPC_CheckPredicate, 12,
     OPC_CheckPredicate, 9,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate, 81,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     13,
      OPC_CheckPatternPredicate, 55,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC164), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     13,
      OPC_CheckPatternPredicate, 56,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     13,
      OPC_CheckPatternPredicate, 66,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     13,
      OPC_CheckPatternPredicate, 62,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    37,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPredicate, 12,
     OPC_CheckPredicate, 9,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 82,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDXC1), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 2, 3,
     11,
      OPC_CheckPatternPredicate, 83,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDXC164), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 2, 3,
     0,
    0,
   76,
    OPC_CheckChild1Type, MVT::f32,
    OPC_Scope, 33,
     OPC_RecordChild2,
     OPC_CheckPredicate, 12,
     OPC_CheckPredicate, 9,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    37,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPredicate, 12,
     OPC_CheckPredicate, 9,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 84,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SWXC1), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 2, 3,
     11,
      OPC_CheckPatternPredicate, 45,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SWXC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 2, 3,
     0,
    0,
   0,
  22,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_CheckPredicate, 12,
   OPC_CheckPredicate, 9,
   OPC_CheckPatternPredicate2,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitRegisterI32, Mips::ZERO,
   OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 4, 2, 3,
  61|128,5,
   OPC_RecordChild1,
   OPC_Scope, 18|128,2,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckPredicate, 12,
    OPC_Scope, 32,
     OPC_CheckPredicate, 29,
     OPC_Scope, 13,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SB), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     13,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SH), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    73,
     OPC_CheckPredicate, 9,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     13,
      OPC_CheckPatternPredicate, 54,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC2), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     13,
      OPC_CheckPatternPredicate, 85,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC2), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     13,
      OPC_CheckPatternPredicate, 86,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC3), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     13,
      OPC_CheckPatternPredicate, 87,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC3), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    34,
     OPC_CheckPredicate, 29,
     OPC_Scope, 14,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat, /*CP*/11, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SbRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     14,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat, /*CP*/11, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::ShRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    15,
     OPC_CheckPredicate, 9,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat, /*CP*/21, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SwRxSpImmX16), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    32,
     OPC_CheckPredicate, 29,
     OPC_Scope, 13,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SB_MM), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     13,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SH_MM), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    76,
     OPC_CheckPredicate, 9,
     OPC_Scope, 28,
      OPC_CheckPatternPredicate4,
      OPC_Scope, 12,
       OPC_CheckComplexPat, /*CP*/22, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Mips::SW16_MM), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 4,
      11,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Mips::SW_MM), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 4,
      0,
     42,
      OPC_CheckPatternPredicate, 8,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/26, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_Scope, 8,
        OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       8,
        OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       0,
      12,
       OPC_CheckComplexPat, /*CP*/22, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Mips::SW16_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 4,
      0,
     0,
    0,
   37,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckPredicate, 12,
    OPC_CheckPredicate, 9,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 35,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    13,
     OPC_CheckPatternPredicate, 46,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   80,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_CheckPredicate, 12,
    OPC_CheckPredicate, 9,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 67,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC164), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    13,
     OPC_CheckPatternPredicate, 68,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    13,
     OPC_CheckPatternPredicate, 47,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    13,
     OPC_CheckPatternPredicate, 48,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    14,
     OPC_CheckPatternPredicate, 88,
     OPC_CheckComplexPat, /*CP*/27, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   73,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckPredicate, 12,
    OPC_Scope, 50,
     OPC_CheckPredicate, 29,
     OPC_Scope, 14,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate, 18,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SB64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     14,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate, 18,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SH64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     15,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate, 18,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SW64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    15,
     OPC_CheckPredicate, 9,
     OPC_CheckPatternPredicate, 26,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SD), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   20,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckPredicate, 12,
    OPC_CheckPredicate, 9,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/17, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   20,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 12,
    OPC_CheckPredicate, 9,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   20,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckPredicate, 12,
    OPC_CheckPredicate, 9,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/19, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   20,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckPredicate, 12,
    OPC_CheckPredicate, 9,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/20, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   20,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 12,
    OPC_CheckPredicate, 9,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   21,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 12,
    OPC_CheckPredicate, 9,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat, /*CP*/19, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   21,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 12,
    OPC_CheckPredicate, 9,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat, /*CP*/20, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   28,
    OPC_CheckChild1Type, MVT::v2i16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 12,
    OPC_CheckPredicate, 9,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 1, 5,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4,
   28,
    OPC_CheckChild1Type, MVT::v4i8,
    OPC_RecordChild2,
    OPC_CheckPredicate, 12,
    OPC_CheckPredicate, 9,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 1, 5,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4,
   21,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_RecordChild2,
    OPC_CheckPredicate, 12,
    OPC_CheckPredicate, 9,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat, /*CP*/17, /*#*/3,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_F16), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 2, 3,
   0,
  0,
 78|128,10, TARGET_VAL(ISD::LOAD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 103,
   OPC_RecordChild1,
   OPC_CheckPredicate, 28,
   OPC_CheckTypeI32,
   OPC_Scope, 32,
    OPC_CheckPredicate, 20,
    OPC_Scope, 13,
     OPC_CheckPredicate5,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   32,
    OPC_CheckPredicate, 19,
    OPC_Scope, 13,
     OPC_CheckPredicate5,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   14,
    OPC_CheckPredicate, 22,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   15,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   0,
  54,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckPredicate, 28,
   OPC_CheckTypeI32,
   OPC_Scope, 13,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LBUX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   13,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LHX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   12,
    OPC_CheckPredicate, 22,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LWX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   0,
  69|128,6,
   OPC_RecordChild1,
   OPC_CheckPredicate, 28,
   OPC_Scope, 16,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate5,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   16,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate5,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   16,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate4,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   16,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate4,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   74,
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13,
     OPC_CheckPatternPredicate, 54,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC2), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13,
     OPC_CheckPatternPredicate, 85,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC2), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13,
     OPC_CheckPatternPredicate, 86,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC3), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13,
     OPC_CheckPatternPredicate, 87,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC3), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   48,
    OPC_CheckPredicate, 30,
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate, 32,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13,
     OPC_CheckPredicate5,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   17,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 18,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   17,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 18,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   17,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate4,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 18,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   17,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate4,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 18,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   18,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 18,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   18,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 26,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LWu), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   16,
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 26,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   67,
    OPC_CheckPredicate, 30,
    OPC_CheckTypeI64,
    OPC_Scope, 15,
     OPC_CheckPredicate, 32,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    14,
     OPC_CheckPredicate5,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    14,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    15,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    0,
   17,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate5,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat, /*CP*/11, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LbRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   17,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate5,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat, /*CP*/11, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LbuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   17,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate4,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat, /*CP*/11, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LhRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   17,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate4,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat, /*CP*/11, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LhuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   16,
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat, /*CP*/21, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LwRxSpImmX16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   35,
    OPC_CheckPredicate, 30,
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate5,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LbuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    14,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LhuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   16,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate5,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LB_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   16,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate5,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   16,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate4,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   34,
    OPC_CheckPredicate, 20,
    OPC_CheckTypeI32,
    OPC_Scope, 13,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu_MM), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    14,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LWU_MM), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   31,
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/22, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LW16_MM), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    11,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MM), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   48,
    OPC_CheckPredicate, 30,
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate, 32,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13,
     OPC_CheckPredicate5,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu_MM), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   23|128,1,
    OPC_CheckPredicate, 22,
    OPC_SwitchType , 41, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_Scope, 11,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     24,
      OPC_CheckComplexPat, /*CP*/26, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_Scope, 8,
       OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
      8,
       OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
      0,
     0,
    72, MVT::f64,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate, 81,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
     13,
      OPC_CheckPatternPredicate, 55,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC164), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
     13,
      OPC_CheckPatternPredicate, 56,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
     13,
      OPC_CheckPatternPredicate, 66,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
     13,
      OPC_CheckPatternPredicate, 62,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
     0,
    28, MVT::f32,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 2, 2, 3,
     12,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 2, 2, 3,
     0,
    0,
   0,
  69,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckPredicate, 28,
   OPC_CheckPredicate, 22,
   OPC_SwitchType , 26, MVT::f32,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate, 84,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LWXC1), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 1, 2,
    11,
     OPC_CheckPatternPredicate, 45,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LWXC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 1, 2,
    0,
   26, MVT::f64,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate, 82,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDXC1), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 1, 2,
    11,
     OPC_CheckPatternPredicate, 83,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDXC164), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 1, 2,
    0,
   0,
  28|128,2,
   OPC_RecordChild1,
   OPC_CheckPredicate, 28,
   OPC_CheckPredicate, 22,
   OPC_SwitchType , 30, MVT::f32,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 35,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3,
    13,
     OPC_CheckPatternPredicate, 46,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3,
    0,
   73, MVT::f64,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 67,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC164), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
    13,
     OPC_CheckPatternPredicate, 68,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
    13,
     OPC_CheckPatternPredicate, 47,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
    13,
     OPC_CheckPatternPredicate, 48,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate, 88,
     OPC_CheckComplexPat, /*CP*/27, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
    0,
   13, MVT::f16,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat, /*CP*/17, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_F16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 3,
   13, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/17, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v16i8, 2, 2, 3,
   13, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/18, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i16, 2, 2, 3,
   13, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/19, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 2, 3,
   13, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/20, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i64, 2, 2, 3,
   21, MVT::v2i16,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i16, 2, 4, 5,
   21, MVT::v4i8,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i8, 2, 4, 5,
   13, MVT::v8f16,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat, /*CP*/18, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8f16, 2, 2, 3,
   14, 4|128,1,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat, /*CP*/19, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                    4|128,1, 2, 2, 3,
   14, 22|128,1,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat, /*CP*/20, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
                    22|128,1, 2, 2, 3,
   0,
  0,
 47|128,21, TARGET_VAL(ISD::BRCOND),
  OPC_RecordNode,
  OPC_Scope, 91|128,20,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
   OPC_Scope, 110|128,3,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 3|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_Scope, 59,
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 31,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckTypeI32,
      OPC_Scope, 19,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 28,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
                       3, 1, 4, 3,
      19,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 28,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
                       3, 1, 4, 3,
      0,
     63,
      OPC_CheckChild0Integer, 0|128,0|128,0|128,0|128,16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 31,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckTypeI32,
      OPC_Scope, 19,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 28,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT032),
                       3, 1, 4, 3,
      19,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 28,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT132),
                       3, 1, 4, 3,
      0,
     0,
    4|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_Scope, 60,
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 31,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckTypeI32,
      OPC_Scope, 19,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 28,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
                       3, 2, 4, 3,
      19,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 28,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
                       3, 2, 4, 3,
      0,
     64,
      OPC_CheckChild0Integer, 0|128,0|128,0|128,0|128,16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 31,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckTypeI32,
      OPC_Scope, 19,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 28,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT032),
                       3, 2, 4, 3,
      19,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 28,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT132),
                       3, 2, 4, 3,
      0,
     0,
    91|128,1,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 30,
      OPC_CheckPredicate, 39,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 57,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 0, 4,
      OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
                      3, 1, 5, 3,
     30,
      OPC_CheckPredicate, 40,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 57,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 1, 4,
      OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT032),
                      3, 1, 5, 3,
     30,
      OPC_CheckPredicate, 39,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 57,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 0, 4,
      OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
                      3, 1, 5, 3,
     30,
      OPC_CheckPredicate, 40,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 57,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 1, 4,
      OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT132),
                      3, 1, 5, 3,
     86,
      OPC_CheckPredicate, 49,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckTypeI32,
      OPC_Scope, 37,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 57,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i64, 0,
       OPC_EmitIntegerI32, Mips::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::i64, 3, 4, 1, 5,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 0, 7,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
                       3, 6, 8, 3,
      37,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 57,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i64, 0,
       OPC_EmitIntegerI32, Mips::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::i64, 3, 4, 1, 5,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 0, 7,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
                       3, 6, 8, 3,
      0,
     0,
    0,
   99|128,16,
    OPC_RecordChild0,
    OPC_Scope, 2|128,11,
     OPC_CheckChild0TypeI32,
     OPC_Scope, 13|128,2,
      OPC_CheckChild1Integer, 0,
      OPC_CheckTypeI32,
      OPC_Scope, 38,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 8,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ),
                        2, 1, 2,
       9,
        OPC_CheckPatternPredicate, 29,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZC),
                        2, 1, 2,
       8,
        OPC_CheckPatternPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ_MM),
                        2, 1, 2,
       0,
      38,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 8,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZ),
                        2, 1, 2,
       9,
        OPC_CheckPatternPredicate, 29,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZC),
                        2, 1, 2,
       8,
        OPC_CheckPatternPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZ_MM),
                        2, 1, 2,
       0,
      38,
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 8,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ),
                        2, 1, 2,
       9,
        OPC_CheckPatternPredicate, 29,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZC),
                        2, 1, 2,
       8,
        OPC_CheckPatternPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ_MM),
                        2, 1, 2,
       0,
      38,
       OPC_CheckChild2CondCode, ISD::SETLT,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 8,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZ),
                        2, 1, 2,
       9,
        OPC_CheckPatternPredicate, 29,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZC),
                        2, 1, 2,
       8,
        OPC_CheckPatternPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZ_MM),
                        2, 1, 2,
       0,
      53,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitRegisterI32, Mips::ZERO,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE),
                        3, 1, 3, 2,
       8,
        OPC_CheckPatternPredicate5,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BnezRxImm16),
                        2, 1, 2,
       11,
        OPC_CheckPatternPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitRegisterI32, Mips::ZERO,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE_MM),
                        3, 1, 3, 2,
       9,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNEZC_MMR6),
                        2, 1, 2,
       0,
      53,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitRegisterI32, Mips::ZERO,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                        3, 1, 3, 2,
       8,
        OPC_CheckPatternPredicate5,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BeqzRxImm16),
                        2, 1, 2,
       11,
        OPC_CheckPatternPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitRegisterI32, Mips::ZERO,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
                        3, 1, 3, 2,
       9,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
                        2, 1, 2,
       0,
      0,
     62,
      OPC_CheckChild1Integer, 1,
      OPC_CheckTypeI32,
      OPC_Scope, 38,
       OPC_CheckChild2CondCode, ISD::SETLT,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 8,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ),
                        2, 1, 2,
       9,
        OPC_CheckPatternPredicate, 29,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZC),
                        2, 1, 2,
       8,
        OPC_CheckPatternPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ_MM),
                        2, 1, 2,
       0,
      17,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 29,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZC),
                       2, 1, 2,
      0,
     62,
      OPC_CheckChild1Integer, 127,
      OPC_CheckTypeI32,
      OPC_Scope, 38,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 8,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ),
                        2, 1, 2,
       9,
        OPC_CheckPatternPredicate, 29,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZC),
                        2, 1, 2,
       8,
        OPC_CheckPatternPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ_MM),
                        2, 1, 2,
       0,
      17,
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 29,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZC),
                       2, 1, 2,
      0,
     112|128,7,
      OPC_RecordChild1,
      OPC_Scope, 97|128,3,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_Scope, 61,
        OPC_CheckPredicate7,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_Scope, 27,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate2,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
                         MVT::i32, 2, 1, 4,
         OPC_EmitRegisterI32, Mips::ZERO,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                         3, 5, 6, 3,
        27,
         OPC_CheckChild2CondCode, ISD::SETUGE,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate2,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
                         MVT::i32, 2, 1, 4,
         OPC_EmitRegisterI32, Mips::ZERO,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                         3, 5, 6, 3,
        0,
       68,
        OPC_CheckPredicate, 10,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_Scope, 30,
         OPC_CheckChild2CondCode, ISD::SETGT,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate2,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_EmitNodeXForm, 2, 4,
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
                         MVT::i32, 2, 1, 5,
         OPC_EmitRegisterI32, Mips::ZERO,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                         3, 6, 7, 3,
        30,
         OPC_CheckChild2CondCode, ISD::SETUGT,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate2,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_EmitNodeXForm, 2, 4,
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
                         MVT::i32, 2, 1, 5,
         OPC_EmitRegisterI32, Mips::ZERO,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                         3, 6, 7, 3,
        0,
       61,
        OPC_CheckPredicate7,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_Scope, 27,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate7,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
                         MVT::i32, 2, 1, 4,
         OPC_EmitRegisterI32, Mips::ZERO,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
                         3, 5, 6, 3,
        27,
         OPC_CheckChild2CondCode, ISD::SETUGE,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate7,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
                         MVT::i32, 2, 1, 4,
         OPC_EmitRegisterI32, Mips::ZERO,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
                         3, 5, 6, 3,
        0,
       68,
        OPC_CheckPredicate, 10,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_Scope, 30,
         OPC_CheckChild2CondCode, ISD::SETGT,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate7,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_EmitNodeXForm, 2, 4,
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
                         MVT::i32, 2, 1, 5,
         OPC_EmitRegisterI32, Mips::ZERO,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
                         3, 6, 7, 3,
        30,
         OPC_CheckChild2CondCode, ISD::SETUGT,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate7,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_EmitNodeXForm, 2, 4,
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
                         MVT::i32, 2, 1, 5,
         OPC_EmitRegisterI32, Mips::ZERO,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
                         3, 6, 7, 3,
        0,
       57,
        OPC_CheckPredicate7,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_Scope, 25,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
                         MVT::i32, 2, 1, 4,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
                         2, 5, 3,
        25,
         OPC_CheckChild2CondCode, ISD::SETUGE,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
                         MVT::i32, 2, 1, 4,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
                         2, 5, 3,
        0,
       64,
        OPC_CheckPredicate, 10,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_Scope, 28,
         OPC_CheckChild2CondCode, ISD::SETGT,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_EmitNodeXForm, 2, 4,
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
                         MVT::i32, 2, 1, 5,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
                         2, 6, 3,
        28,
         OPC_CheckChild2CondCode, ISD::SETUGT,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_EmitNodeXForm, 2, 4,
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
                         MVT::i32, 2, 1, 5,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
                         2, 6, 3,
        0,
       22,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
        OPC_RecordNode,
        OPC_MoveParent,
        OPC_CheckPatternPredicate5,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8CmpiX16),
                        3, 1, 4, 3,
       43,
        OPC_CheckPredicate7,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_Scope, 18,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate5,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8SltiX16),
                         3, 1, 4, 3,
        18,
         OPC_CheckChild2CondCode, ISD::SETLT,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate5,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8SltiX16),
                         3, 1, 4, 3,
        0,
       22,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
        OPC_RecordNode,
        OPC_MoveParent,
        OPC_CheckPatternPredicate5,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8CmpiX16),
                        3, 1, 4, 3,
       0,
      41,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 9,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                        3, 1, 2, 3,
       9,
        OPC_CheckPatternPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
                        3, 1, 2, 3,
       9,
        OPC_CheckPatternPredicate5,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8CmpX16),
                        3, 1, 2, 3,
       0,
      41,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 9,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE),
                        3, 1, 2, 3,
       9,
        OPC_CheckPatternPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE_MM),
                        3, 1, 2, 3,
       9,
        OPC_CheckPatternPredicate5,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8CmpX16),
                        3, 1, 2, 3,
       0,
      32,
       OPC_CheckChild2CondCode, ISD::SETLT,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 29,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTC),
                        3, 1, 2, 3,
       9,
        OPC_CheckPatternPredicate5,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8SltX16),
                        3, 1, 2, 3,
       0,
      87,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 29,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEC),
                        3, 1, 2, 3,
       18,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
                        MVT::i32, 2, 1, 2,
        OPC_EmitRegisterI32, Mips::ZERO,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                        3, 4, 5, 3,
       18,
        OPC_CheckPatternPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
                        MVT::i32, 2, 1, 2,
        OPC_EmitRegisterI32, Mips::ZERO,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
                        3, 4, 5, 3,
       16,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
                        MVT::i32, 2, 1, 2,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
                        2, 4, 3,
       9,
        OPC_CheckPatternPredicate5,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8SltX16),
                        3, 1, 2, 3,
       0,
      32,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 29,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTC),
                        3, 2, 1, 3,
       9,
        OPC_CheckPatternPredicate5,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8SltX16),
                        3, 2, 1, 3,
       0,
      87,
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 29,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEC),
                        3, 2, 1, 3,
       18,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
                        MVT::i32, 2, 2, 1,
        OPC_EmitRegisterI32, Mips::ZERO,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                        3, 4, 5, 3,
       18,
        OPC_CheckPatternPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
                        MVT::i32, 2, 2, 1,
        OPC_EmitRegisterI32, Mips::ZERO,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
                        3, 4, 5, 3,
       16,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
                        MVT::i32, 2, 2, 1,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
                        2, 4, 3,
       9,
        OPC_CheckPatternPredicate5,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8SltX16),
                        3, 2, 1, 3,
       0,
      19,
       OPC_CheckChild2CondCode, ISD::SETULT,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 29,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTUC),
                       3, 1, 2, 3,
      77,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 29,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEUC),
                        3, 1, 2, 3,
       18,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
                        MVT::i32, 2, 1, 2,
        OPC_EmitRegisterI32, Mips::ZERO,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                        3, 4, 5, 3,
       18,
        OPC_CheckPatternPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
                        MVT::i32, 2, 1, 2,
        OPC_EmitRegisterI32, Mips::ZERO,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
                        3, 4, 5, 3,
       16,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
                        MVT::i32, 2, 1, 2,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
                        2, 4, 3,
       0,
      19,
       OPC_CheckChild2CondCode, ISD::SETUGT,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 29,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTUC),
                       3, 2, 1, 3,
      77,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 29,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEUC),
                        3, 2, 1, 3,
       18,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
                        MVT::i32, 2, 2, 1,
        OPC_EmitRegisterI32, Mips::ZERO,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                        3, 4, 5, 3,
       18,
        OPC_CheckPatternPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
                        MVT::i32, 2, 2, 1,
        OPC_EmitRegisterI32, Mips::ZERO,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
                        3, 4, 5, 3,
       16,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
                        MVT::i32, 2, 2, 1,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
                        2, 4, 3,
       0,
      0,
     0,
    90|128,5,
     OPC_CheckChild0TypeI64,
     OPC_Scope, 47|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckTypeI32,
      OPC_Scope, 30,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 9,
        OPC_CheckPatternPredicate, 18,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ64),
                        2, 1, 2,
       9,
        OPC_CheckPatternPredicate, 30,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZC64),
                        2, 1, 2,
       0,
      30,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 9,
        OPC_CheckPatternPredicate, 18,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZ64),
                        2, 1, 2,
       9,
        OPC_CheckPatternPredicate, 30,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZC64),
                        2, 1, 2,
       0,
      30,
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 9,
        OPC_CheckPatternPredicate, 18,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ64),
                        2, 1, 2,
       9,
        OPC_CheckPatternPredicate, 30,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZC64),
                        2, 1, 2,
       0,
      30,
       OPC_CheckChild2CondCode, ISD::SETLT,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 9,
        OPC_CheckPatternPredicate, 18,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZ64),
                        2, 1, 2,
       9,
        OPC_CheckPatternPredicate, 30,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZC64),
                        2, 1, 2,
       0,
      22,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE64),
                       3, 1, 3, 2,
      22,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ64),
                       3, 1, 3, 2,
      0,
     54,
      OPC_CheckChild1Integer, 1,
      OPC_CheckTypeI32,
      OPC_Scope, 30,
       OPC_CheckChild2CondCode, ISD::SETLT,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 9,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ64),
                        2, 1, 2,
       9,
        OPC_CheckPatternPredicate, 30,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZC64),
                        2, 1, 2,
       0,
      17,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 30,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZC64),
                       2, 1, 2,
      0,
     54,
      OPC_CheckChild1Integer, 127,
      OPC_CheckTypeI32,
      OPC_Scope, 30,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 9,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ64),
                        2, 1, 2,
       9,
        OPC_CheckPatternPredicate, 30,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZC64),
                        2, 1, 2,
       0,
      17,
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 30,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZC64),
                       2, 1, 2,
      0,
     54|128,3,
      OPC_RecordChild1,
      OPC_Scope, 13|128,1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_Scope, 63,
        OPC_CheckPredicate7,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_Scope, 28,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate, 9,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
                         MVT::i32, 2, 1, 4,
         OPC_EmitRegisterI32, Mips::ZERO,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                         3, 5, 6, 3,
        28,
         OPC_CheckChild2CondCode, ISD::SETUGE,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate, 9,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
                         MVT::i32, 2, 1, 4,
         OPC_EmitRegisterI32, Mips::ZERO,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                         3, 5, 6, 3,
        0,
       70,
        OPC_CheckPredicate, 10,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_Scope, 31,
         OPC_CheckChild2CondCode, ISD::SETGT,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate, 9,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_EmitNodeXForm, 2, 4,
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
                         MVT::i32, 2, 1, 5,
         OPC_EmitRegisterI32, Mips::ZERO,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                         3, 6, 7, 3,
        31,
         OPC_CheckChild2CondCode, ISD::SETUGT,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
         OPC_RecordNode,
         OPC_MoveParent,
         OPC_CheckPatternPredicate, 9,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget2,
         OPC_EmitNodeXForm, 2, 4,
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
                         MVT::i32, 2, 1, 5,
         OPC_EmitRegisterI32, Mips::ZERO,
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                         3, 6, 7, 3,
        0,
       0,
      19,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 18,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ64),
                       3, 1, 2, 3,
      19,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 18,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE64),
                       3, 1, 2, 3,
      19,
       OPC_CheckChild2CondCode, ISD::SETLT,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 30,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTC64),
                       3, 1, 2, 3,
      42,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 30,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEC64),
                        3, 1, 2, 3,
       19,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
                        MVT::i32, 2, 1, 2,
        OPC_EmitRegisterI32, Mips::ZERO,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                        3, 4, 5, 3,
       0,
      19,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 30,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTC64),
                       3, 2, 1, 3,
      42,
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 30,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEC64),
                        3, 2, 1, 3,
       19,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
                        MVT::i32, 2, 2, 1,
        OPC_EmitRegisterI32, Mips::ZERO,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                        3, 4, 5, 3,
       0,
      19,
       OPC_CheckChild2CondCode, ISD::SETULT,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 30,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTUC64),
                       3, 1, 2, 3,
      42,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 30,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEUC64),
                        3, 1, 2, 3,
       19,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
                        MVT::i32, 2, 1, 2,
        OPC_EmitRegisterI32, Mips::ZERO,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                        3, 4, 5, 3,
       0,
      19,
       OPC_CheckChild2CondCode, ISD::SETUGT,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 30,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTUC64),
                       3, 2, 1, 3,
      42,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 30,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEUC64),
                        3, 2, 1, 3,
       19,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
                        MVT::i32, 2, 2, 1,
        OPC_EmitRegisterI32, Mips::ZERO,
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
                        3, 4, 5, 3,
       0,
      0,
     0,
    0,
   0,
  78,
   OPC_RecordChild1,
   OPC_Scope, 52,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
    OPC_MoveParent,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE),
                     3, 1, 3, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BnezRxImm16),
                     2, 1, 2,
    11,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE_MM),
                     3, 1, 3, 2,
    9,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNEZC_MMR6),
                     2, 1, 2,
    0,
   21,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE64),
                    3, 1, 3, 2,
   0,
  0,
 97|128,14, TARGET_VAL(ISD::AND),
  OPC_Scope, 56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate3,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitConvertToTarget1,
   OPC_EmitNode1None, TARGET_VAL(Mips::DSRL),
                   MVT::i64, 2, 0, 3,
   OPC_EmitIntegerI32, Mips::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 4, 5,
   OPC_EmitConvertToTarget2,
   OPC_EmitNodeXForm, 3, 7,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi),
                   MVT::i32, 2, 6, 8,
  20,
   OPC_CheckAndImm, 127|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 28,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BADDu),
                   MVT::i64, 2, 0, 1,
  67|128,3,
   OPC_RecordChild0,
   OPC_Scope, 41|128,1,
    OPC_RecordChild1,
    OPC_Scope, 102,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 13,
      OPC_CheckPredicate, 33,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate2,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi),
                      MVT::i32, 2, 0, 2,
     17,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 3, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi64),
                      MVT::i64, 2, 0, 3,
     13,
      OPC_CheckPredicate, 41,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI16_MM),
                      MVT::i32, 2, 0, 2,
     16,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 3, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi_MM),
                      MVT::i32, 2, 0, 3,
     14,
      OPC_CheckPredicate, 41,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI16_MMR6),
                      MVT::i32, 2, 0, 2,
     17,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 3, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI_MMR6),
                      MVT::i32, 2, 0, 3,
     0,
    51,
     OPC_CheckTypeI32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND),
                      MVT::i32, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::AndRxRxRy16),
                      MVT::i32, 2, 0, 1,
     19,
      OPC_CheckPatternPredicate7,
      OPC_Scope, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND16_MM),
                       MVT::i32, 2, 0, 1,
      7,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_MM),
                       MVT::i32, 2, 0, 1,
      0,
     9,
      OPC_CheckPatternPredicate, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_MMR6),
                      MVT::i32, 2, 0, 1,
     0,
    10,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 18,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND64),
                     MVT::i64, 2, 0, 1,
    0,
   19|128,2,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 0|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling5,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling6,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling7,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 8,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 9,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 10,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 11,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 12,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 13,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 14,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 15,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
                     MVT::v16i8, 2, 0, 2,
    0|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling5,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling6,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling7,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 8,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 9,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 10,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 11,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 12,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 13,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 14,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 15,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
                     MVT::v16i8, 2, 0, 2,
    0,
   0,
  21|128,2,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 1|128,1,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 9,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 10,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 11,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 12,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 13,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 14,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 15,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
                    MVT::v16i8, 2, 2, 1,
   1|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 9,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 10,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 11,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 12,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 13,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 14,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 15,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
                    MVT::v16i8, 2, 2, 1,
   0,
  34|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 72,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
                    MVT::v8i16, 2, 0, 2,
   72,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
                    MVT::v8i16, 2, 0, 2,
   0,
  35|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 73,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
                    MVT::v8i16, 2, 2, 1,
   73,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
                    MVT::v8i16, 2, 2, 1,
   0,
  118,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 50,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
                    MVT::v4i32, 2, 0, 2,
   50,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
                    MVT::v4i32, 2, 0, 2,
   0,
  119,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 51,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
                    MVT::v4i32, 2, 2, 1,
   51,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
                    MVT::v4i32, 2, 2, 1,
   0,
  86,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 34,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
                    MVT::v2i64, 2, 0, 2,
   34,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
                    MVT::v2i64, 2, 0, 2,
   0,
  87,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 35,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
                    MVT::v2i64, 2, 2, 1,
   35,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
                    MVT::v2i64, 2, 2, 1,
   0,
  82,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 30,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
                     MVT::v16i8, 2, 0, 2,
    10, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
                     MVT::v8i16, 2, 0, 2,
    0,
   18,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
                    MVT::v4i32, 2, 0, 2,
   18,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
                    MVT::v2i64, 2, 0, 2,
   0,
  84,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 31,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 10, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
                     MVT::v16i8, 2, 2, 1,
    10, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
                     MVT::v8i16, 2, 2, 1,
    0,
   19,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
                    MVT::v4i32, 2, 2, 1,
   19,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
                    MVT::v2i64, 2, 2, 1,
   0,
  36|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 53, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI_B),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_B),
                     MVT::v16i8, 2, 0, 2,
    9,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI_B),
                     MVT::v16i8, 2, 1, 2,
    10,
     OPC_CheckComplexPat, /*CP*/12, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_B),
                     MVT::v16i8, 2, 1, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V),
                     MVT::v16i8, 2, 0, 1,
    0,
   33, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_H),
                     MVT::v8i16, 2, 0, 2,
    10,
     OPC_CheckComplexPat, /*CP*/12, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_H),
                     MVT::v8i16, 2, 1, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V_H_PSEUDO),
                     MVT::v8i16, 2, 0, 1,
    0,
   33, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_W),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckComplexPat, /*CP*/12, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_W),
                     MVT::v4i32, 2, 1, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V_W_PSEUDO),
                     MVT::v4i32, 2, 0, 1,
    0,
   33, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_D),
                     MVT::v2i64, 2, 0, 2,
    10,
     OPC_CheckComplexPat, /*CP*/12, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_D),
                     MVT::v2i64, 2, 1, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V_D_PSEUDO),
                     MVT::v2i64, 2, 0, 1,
    0,
   0,
  0,
 41|128,7, TARGET_VAL(ISD::SHL),
  OPC_RecordChild0,
  OPC_Scope, 15|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 51,
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 20,
     OPC_CheckPredicate3,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckPredicate, 23,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
                     MVT::i32, 2, 0, 2,
    22,
     OPC_CheckPredicate, 15,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckPredicate, 24,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
                     MVT::i64, 2, 0, 2,
    0,
   47,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_Scope, 16,
     OPC_CheckPredicate3,
     OPC_MoveParent,
     OPC_CheckPredicate, 23,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
                     MVT::i32, 2, 0, 2,
    18,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_CheckPredicate, 24,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
                     MVT::i64, 2, 0, 2,
    0,
   36,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 12,
     OPC_CheckPredicate, 23,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLV),
                     MVT::i32, 2, 0, 1,
    13,
     OPC_CheckPredicate, 24,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 26,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLLV),
                     MVT::i64, 2, 0, 1,
    0,
   0,
  76,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_Scope, 12,
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
                    MVT::i32, 2, 0, 2,
   14,
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
                    MVT::i64, 2, 0, 2,
   12,
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
                    MVT::i32, 2, 0, 2,
   13,
    OPC_CheckPredicate, 42,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL16_MM),
                    MVT::i32, 2, 0, 2,
   12,
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_MM),
                    MVT::i32, 2, 0, 2,
   0,
  25,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, Mips::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLLV),
                   MVT::i64, 2, 0, 3,
  46,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_SwitchType , 29, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLV),
                     MVT::i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllvRxRy16),
                     MVT::i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLV_MM),
                     MVT::i32, 2, 0, 1,
    0,
   9, MVT::i64,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLLV),
                    MVT::i64, 2, 0, 1,
   0,
  22|128,4,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 122,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 9,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 10,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 11,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 12,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 13,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 14,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 15,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_B),
                    MVT::v16i8, 2, 0, 1,
   122,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 9,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 10,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 11,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 12,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 13,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 14,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 15,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_B),
                    MVT::v16i8, 2, 0, 1,
   66,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_H),
                    MVT::v8i16, 2, 0, 1,
   66,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_H),
                    MVT::v8i16, 2, 0, 1,
   44,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_W),
                    MVT::v4i32, 2, 0, 1,
   44,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_W),
                    MVT::v4i32, 2, 0, 1,
   28,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_D),
                    MVT::v2i64, 2, 0, 1,
   28,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  102,
   OPC_RecordChild1,
   OPC_SwitchType , 22, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/23, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_B),
                     MVT::v16i8, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   22, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/24, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_H),
                     MVT::v8i16, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_H),
                     MVT::v8i16, 2, 0, 1,
    0,
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_W),
                     MVT::v4i32, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_W),
                     MVT::v4i32, 2, 0, 1,
    0,
   24, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/25, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_D),
                     MVT::v2i64, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_D),
                     MVT::v2i64, 2, 0, 1,
    0,
   0,
  0,
 41|128,7, TARGET_VAL(ISD::SRL),
  OPC_RecordChild0,
  OPC_Scope, 15|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 51,
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 20,
     OPC_CheckPredicate3,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckPredicate, 23,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
                     MVT::i32, 2, 0, 2,
    22,
     OPC_CheckPredicate, 15,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckPredicate, 24,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
                     MVT::i64, 2, 0, 2,
    0,
   47,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_Scope, 16,
     OPC_CheckPredicate3,
     OPC_MoveParent,
     OPC_CheckPredicate, 23,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
                     MVT::i32, 2, 0, 2,
    18,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_CheckPredicate, 24,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
                     MVT::i64, 2, 0, 2,
    0,
   36,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 12,
     OPC_CheckPredicate, 23,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLV),
                     MVT::i32, 2, 0, 1,
    13,
     OPC_CheckPredicate, 24,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 26,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRLV),
                     MVT::i64, 2, 0, 1,
    0,
   0,
  76,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_Scope, 12,
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
                    MVT::i32, 2, 0, 2,
   14,
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
                    MVT::i64, 2, 0, 2,
   12,
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SrlX16),
                    MVT::i32, 2, 0, 2,
   13,
    OPC_CheckPredicate, 42,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL16_MM),
                    MVT::i32, 2, 0, 2,
   12,
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_MM),
                    MVT::i32, 2, 0, 2,
   0,
  25,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, Mips::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRLV),
                   MVT::i64, 2, 0, 3,
  46,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_SwitchType , 29, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLV),
                     MVT::i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SrlvRxRy16),
                     MVT::i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLV_MM),
                     MVT::i32, 2, 0, 1,
    0,
   9, MVT::i64,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRLV),
                    MVT::i64, 2, 0, 1,
   0,
  22|128,4,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 122,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 9,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 10,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 11,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 12,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 13,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 14,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 15,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_B),
                    MVT::v16i8, 2, 0, 1,
   122,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 9,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 10,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 11,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 12,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 13,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 14,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 15,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_B),
                    MVT::v16i8, 2, 0, 1,
   66,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_H),
                    MVT::v8i16, 2, 0, 1,
   66,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_H),
                    MVT::v8i16, 2, 0, 1,
   44,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_W),
                    MVT::v4i32, 2, 0, 1,
   44,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_W),
                    MVT::v4i32, 2, 0, 1,
   28,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_D),
                    MVT::v2i64, 2, 0, 1,
   28,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  102,
   OPC_RecordChild1,
   OPC_SwitchType , 22, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/23, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_B),
                     MVT::v16i8, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   22, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/24, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_H),
                     MVT::v8i16, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_H),
                     MVT::v8i16, 2, 0, 1,
    0,
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_W),
                     MVT::v4i32, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_W),
                     MVT::v4i32, 2, 0, 1,
    0,
   24, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/25, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_D),
                     MVT::v2i64, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_D),
                     MVT::v2i64, 2, 0, 1,
    0,
   0,
  0,
 27|128,7, TARGET_VAL(ISD::SRA),
  OPC_RecordChild0,
  OPC_Scope, 15|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 51,
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 20,
     OPC_CheckPredicate3,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckPredicate, 23,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
                     MVT::i32, 2, 0, 2,
    22,
     OPC_CheckPredicate, 15,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckPredicate, 24,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRA),
                     MVT::i64, 2, 0, 2,
    0,
   47,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_Scope, 16,
     OPC_CheckPredicate3,
     OPC_MoveParent,
     OPC_CheckPredicate, 23,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
                     MVT::i32, 2, 0, 2,
    18,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_CheckPredicate, 24,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRA),
                     MVT::i64, 2, 0, 2,
    0,
   36,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 12,
     OPC_CheckPredicate, 23,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAV),
                     MVT::i32, 2, 0, 1,
    13,
     OPC_CheckPredicate, 24,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 26,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRAV),
                     MVT::i64, 2, 0, 1,
    0,
   0,
  62,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_Scope, 12,
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
                    MVT::i32, 2, 0, 2,
   14,
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRA),
                    MVT::i64, 2, 0, 2,
   25,
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate5,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SraX16),
                     MVT::i32, 2, 0, 2,
    9,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_MM),
                     MVT::i32, 2, 0, 2,
    0,
   0,
  25,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, Mips::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRAV),
                   MVT::i64, 2, 0, 3,
  46,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_SwitchType , 29, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAV),
                     MVT::i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SravRxRy16),
                     MVT::i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAV_MM),
                     MVT::i32, 2, 0, 1,
    0,
   9, MVT::i64,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRAV),
                    MVT::i64, 2, 0, 1,
   0,
  22|128,4,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 122,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 9,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 10,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 11,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 12,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 13,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 14,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 15,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_B),
                    MVT::v16i8, 2, 0, 1,
   122,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 9,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 10,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 11,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 12,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 13,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 14,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 15,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_B),
                    MVT::v16i8, 2, 0, 1,
   66,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_H),
                    MVT::v8i16, 2, 0, 1,
   66,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_H),
                    MVT::v8i16, 2, 0, 1,
   44,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_W),
                    MVT::v4i32, 2, 0, 1,
   44,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_W),
                    MVT::v4i32, 2, 0, 1,
   28,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_D),
                    MVT::v2i64, 2, 0, 1,
   28,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  102,
   OPC_RecordChild1,
   OPC_SwitchType , 22, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/23, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_B),
                     MVT::v16i8, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   22, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/24, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_H),
                     MVT::v8i16, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_H),
                     MVT::v8i16, 2, 0, 1,
    0,
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_W),
                     MVT::v4i32, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_W),
                     MVT::v4i32, 2, 0, 1,
    0,
   24, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/25, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_D),
                     MVT::v2i64, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_D),
                     MVT::v2i64, 2, 0, 1,
    0,
   0,
  0,
 86|128,47, TARGET_VAL(ISD::SELECT),
  OPC_Scope, 19|128,21,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
   OPC_RecordChild0,
   OPC_Scope, 94|128,14,
    OPC_CheckChild0TypeI32,
    OPC_Scope, 9|128,2,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 127,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_Scope, 18,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 15,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ),
                       MVT::i32, 2, 1, 0,
      17,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 15,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ),
                       MVT::i32, 2, 1, 0,
      18,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ_MMR6),
                       MVT::i32, 2, 1, 0,
      17,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ_MMR6),
                       MVT::i32, 2, 1, 0,
      24,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
                       MVT::i64, 1, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
                       MVT::i64, 2, 1, 2,
      23,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
                       MVT::i64, 1, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
                       MVT::i64, 2, 1, 2,
      0,
     127,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_Scope, 18,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 15,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ),
                       MVT::i32, 2, 1, 0,
      17,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 15,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ),
                       MVT::i32, 2, 1, 0,
      18,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ_MMR6),
                       MVT::i32, 2, 1, 0,
      17,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ_MMR6),
                       MVT::i32, 2, 1, 0,
      24,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
                       MVT::i64, 1, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
                       MVT::i64, 2, 1, 2,
      23,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
                       MVT::i64, 1, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    126,
     OPC_CheckChild1Integer, 0,
     OPC_CheckTypeI32,
     OPC_Scope, 54,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 33, MVT::i32,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 20,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                        MVT::i32, 3, 1, 0, 2,
       9,
        OPC_CheckPatternPredicate7,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
                        MVT::i32, 3, 1, 0, 2,
       9,
        OPC_CheckPatternPredicate5,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelBeqZ),
                        MVT::i32, 3, 1, 2, 0,
       0,
      10, MVT::i64,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                       MVT::i64, 3, 1, 0, 2,
      0,
     65,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 44, MVT::i32,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 20,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I),
                        MVT::i32, 3, 1, 0, 2,
       10,
        OPC_CheckPatternPredicate, 75,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
                        MVT::i32, 3, 1, 0, 2,
       9,
        OPC_CheckPatternPredicate7,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
                        MVT::i32, 3, 1, 0, 2,
       9,
        OPC_CheckPatternPredicate5,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelBneZ),
                        MVT::i32, 3, 1, 2, 0,
       0,
      10, MVT::i64,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I64),
                       MVT::i64, 3, 1, 0, 2,
      0,
     0,
    89|128,4,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 55,
      OPC_CheckPredicate7,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 24,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
                       MVT::i32, 2, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                       MVT::i32, 3, 2, 5, 3,
      24,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
                       MVT::i32, 2, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                       MVT::i32, 3, 2, 5, 3,
      0,
     62,
      OPC_CheckPredicate, 10,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 27,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
                       MVT::i32, 2, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                       MVT::i32, 3, 2, 6, 3,
      27,
       OPC_CheckChild2CondCode, ISD::SETUGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
                       MVT::i32, 2, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                       MVT::i32, 3, 2, 6, 3,
      0,
     31,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 3, 4,
      OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
                      MVT::i32, 2, 0, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                      MVT::i32, 3, 2, 6, 3,
     55,
      OPC_CheckPredicate7,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 24,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
                       MVT::i32, 2, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                       MVT::i64, 3, 2, 5, 3,
      24,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
                       MVT::i32, 2, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                       MVT::i64, 3, 2, 5, 3,
      0,
     62,
      OPC_CheckPredicate, 10,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 27,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
                       MVT::i32, 2, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                       MVT::i64, 3, 2, 6, 3,
      27,
       OPC_CheckChild2CondCode, ISD::SETUGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
                       MVT::i32, 2, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                       MVT::i64, 3, 2, 6, 3,
      0,
     31,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 3, 4,
      OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
                      MVT::i32, 2, 0, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                      MVT::i64, 3, 2, 6, 3,
     53,
      OPC_CheckPredicate7,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 23,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate7,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
                       MVT::i32, 2, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
                       MVT::i32, 3, 2, 5, 3,
      23,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate7,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
                       MVT::i32, 2, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
                       MVT::i32, 3, 2, 5, 3,
      0,
     60,
      OPC_CheckPredicate, 10,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 26,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate7,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
                       MVT::i32, 2, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
                       MVT::i32, 3, 2, 6, 3,
      26,
       OPC_CheckChild2CondCode, ISD::SETUGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate7,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
                       MVT::i32, 2, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
                       MVT::i32, 3, 2, 6, 3,
      0,
     30,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate7,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 3, 4,
      OPC_EmitNode1None, TARGET_VAL(Mips::XORi_MM),
                      MVT::i32, 2, 0, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
                      MVT::i32, 3, 2, 6, 3,
     53,
      OPC_CheckPredicate7,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 23,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate7,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
                       MVT::i32, 2, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
                       MVT::i32, 3, 2, 5, 3,
      23,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate7,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
                       MVT::i32, 2, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
                       MVT::i32, 3, 2, 5, 3,
      0,
     60,
      OPC_CheckPredicate, 10,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 26,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate7,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
                       MVT::i32, 2, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
                       MVT::i32, 3, 2, 6, 3,
      26,
       OPC_CheckChild2CondCode, ISD::SETUGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate7,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
                       MVT::i32, 2, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
                       MVT::i32, 3, 2, 6, 3,
      0,
     30,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate7,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 3, 4,
      OPC_EmitNode1None, TARGET_VAL(Mips::XORi_MM),
                      MVT::i32, 2, 0, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
                      MVT::i32, 3, 2, 6, 3,
     0,
    123,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 56,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckTypeI32,
      OPC_Scope, 23,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
                       MVT::i32, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
                       MVT::i32, 2, 2, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
                       MVT::i32, 2, 3, 4,
      23,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
                       MVT::i32, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
                       MVT::i32, 2, 2, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
                       MVT::i32, 2, 3, 4,
      0,
     56,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckTypeI32,
      OPC_Scope, 23,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
                       MVT::i32, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
                       MVT::i32, 2, 2, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
                       MVT::i32, 2, 3, 4,
      23,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
                       MVT::i32, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
                       MVT::i32, 2, 2, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
                       MVT::i32, 2, 3, 4,
      0,
     0,
    101|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 110,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 51,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
                       MVT::i32, 2, 0, 5,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
                       MVT::i32, 2, 2, 6,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 8,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
                       MVT::i32, 2, 0, 9,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
                       MVT::i32, 2, 3, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
                       MVT::i32, 2, 7, 11,
      51,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
                       MVT::i32, 2, 0, 5,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
                       MVT::i32, 2, 2, 6,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 8,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
                       MVT::i32, 2, 0, 9,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
                       MVT::i32, 2, 3, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
                       MVT::i32, 2, 7, 11,
      0,
     110,
      OPC_CheckPredicate, 10,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 51,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
                       MVT::i32, 2, 0, 5,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
                       MVT::i32, 2, 2, 6,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 8,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
                       MVT::i32, 2, 0, 9,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
                       MVT::i32, 2, 3, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
                       MVT::i32, 2, 7, 11,
      51,
       OPC_CheckChild2CondCode, ISD::SETUGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
                       MVT::i32, 2, 0, 5,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
                       MVT::i32, 2, 2, 6,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 8,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
                       MVT::i32, 2, 0, 9,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
                       MVT::i32, 2, 3, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
                       MVT::i32, 2, 7, 11,
      0,
     0,
    93,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 41,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate, 19,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
                      MVT::i64, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
                      MVT::i64, 2, 1, 3,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
                      MVT::i64, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
                      MVT::i64, 2, 2, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
                      MVT::i64, 2, 4, 6,
     41,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate, 19,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
                      MVT::i64, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
                      MVT::i64, 2, 1, 3,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
                      MVT::i64, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
                      MVT::i64, 2, 2, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
                      MVT::i64, 2, 4, 6,
     0,
    51|128,3,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 110,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 51,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
                       MVT::i32, 2, 0, 5,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
                       MVT::i32, 2, 2, 6,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 8,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
                       MVT::i32, 2, 0, 9,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
                       MVT::i32, 2, 3, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
                       MVT::i32, 2, 7, 11,
      51,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
                       MVT::i32, 2, 0, 5,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
                       MVT::i32, 2, 2, 6,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 8,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
                       MVT::i32, 2, 0, 9,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
                       MVT::i32, 2, 3, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
                       MVT::i32, 2, 7, 11,
      0,
     110,
      OPC_CheckPredicate, 10,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 51,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
                       MVT::i32, 2, 0, 5,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
                       MVT::i32, 2, 2, 6,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 8,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
                       MVT::i32, 2, 0, 9,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
                       MVT::i32, 2, 3, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
                       MVT::i32, 2, 7, 11,
      51,
       OPC_CheckChild2CondCode, ISD::SETUGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
                       MVT::i32, 2, 0, 5,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
                       MVT::i32, 2, 2, 6,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 8,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
                       MVT::i32, 2, 0, 9,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
                       MVT::i32, 2, 3, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
                       MVT::i32, 2, 7, 11,
      0,
     6|128,1,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 63,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
                       MVT::i32, 2, 0, 5,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
                       MVT::i64, 1, 6,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
                       MVT::i64, 2, 2, 7,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 9,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
                       MVT::i32, 2, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
                       MVT::i64, 1, 11,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
                       MVT::i64, 2, 3, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
                       MVT::i64, 2, 8, 13,
      63,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
                       MVT::i32, 2, 0, 5,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
                       MVT::i64, 1, 6,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
                       MVT::i64, 2, 2, 7,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 9,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
                       MVT::i32, 2, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
                       MVT::i64, 1, 11,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
                       MVT::i64, 2, 3, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
                       MVT::i64, 2, 8, 13,
      0,
     20,
      OPC_CheckPredicate7,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETLT,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate5,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZSlti),
                      MVT::i32, 4, 2, 3, 0, 4,
     48,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 20,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZCmpi),
                       MVT::i32, 4, 2, 3, 0, 5,
      20,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZCmpi),
                       MVT::i32, 4, 2, 3, 0, 5,
      0,
     0,
    0,
   42|128,6,
    OPC_CheckChild0TypeI64,
    OPC_Scope, 93,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 41,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_Scope, 18,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 19,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
                       MVT::i64, 2, 1, 0,
      17,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 19,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
                       MVT::i64, 2, 1, 0,
      0,
     41,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_Scope, 18,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 19,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
                       MVT::i64, 2, 1, 0,
      17,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 19,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
                       MVT::i64, 2, 1, 0,
      0,
     0,
    69,
     OPC_CheckChild1Integer, 0,
     OPC_CheckTypeI32,
     OPC_Scope, 31,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 10, MVT::i32,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I),
                       MVT::i32, 3, 1, 0, 2,
      10, MVT::i64,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I64),
                       MVT::i64, 3, 1, 0, 2,
      0,
     31,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 10, MVT::i32,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I),
                       MVT::i32, 3, 1, 0, 2,
      10, MVT::i64,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I64),
                       MVT::i64, 3, 1, 0, 2,
      0,
     0,
    47|128,2,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 55,
      OPC_CheckPredicate7,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 24,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
                       MVT::i32, 2, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                       MVT::i32, 3, 2, 5, 3,
      24,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
                       MVT::i32, 2, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                       MVT::i32, 3, 2, 5, 3,
      0,
     62,
      OPC_CheckPredicate, 10,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 27,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
                       MVT::i32, 2, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                       MVT::i32, 3, 2, 6, 3,
      27,
       OPC_CheckChild2CondCode, ISD::SETUGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
                       MVT::i32, 2, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                       MVT::i32, 3, 2, 6, 3,
      0,
     55,
      OPC_CheckPredicate7,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 24,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
                       MVT::i32, 2, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                       MVT::i64, 3, 2, 5, 3,
      24,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
                       MVT::i32, 2, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                       MVT::i64, 3, 2, 5, 3,
      0,
     62,
      OPC_CheckPredicate, 10,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 27,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
                       MVT::i32, 2, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                       MVT::i64, 3, 2, 6, 3,
      27,
       OPC_CheckChild2CondCode, ISD::SETUGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
                       MVT::i32, 2, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                       MVT::i64, 3, 2, 6, 3,
      0,
     57,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 21, MVT::i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
                       MVT::i64, 2, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I),
                       MVT::i32, 3, 2, 6, 3,
      21, MVT::i64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
                       MVT::i64, 2, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I64),
                       MVT::i64, 3, 2, 6, 3,
      0,
     0,
    69,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 29,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate, 19,
      OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
                      MVT::i64, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
                      MVT::i64, 2, 2, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
                      MVT::i64, 2, 3, 4,
     29,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate, 19,
      OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
                      MVT::i64, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
                      MVT::i64, 2, 2, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
                      MVT::i64, 2, 3, 4,
     0,
    10|128,2,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 98,
      OPC_CheckPredicate, 50,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 45,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
                       MVT::i64, 2, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
                       MVT::i64, 2, 2, 5,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
                       MVT::i64, 2, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
                       MVT::i64, 2, 3, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
                       MVT::i64, 2, 6, 9,
      45,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
                       MVT::i64, 2, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
                       MVT::i64, 2, 2, 5,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
                       MVT::i64, 2, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
                       MVT::i64, 2, 3, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
                       MVT::i64, 2, 6, 9,
      0,
     30|128,1,
      OPC_CheckPredicate, 10,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 75,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitIntegerI64, 0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 5,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
                       MVT::i32, 2, 0, 6,
       OPC_EmitIntegerI32, Mips::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::i64, 3, 4, 7, 8,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
                       MVT::i64, 2, 2, 9,
       OPC_EmitIntegerI64, 0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 12,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
                       MVT::i32, 2, 0, 13,
       OPC_EmitIntegerI32, Mips::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::i64, 3, 11, 14, 15,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
                       MVT::i64, 2, 3, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
                       MVT::i64, 2, 10, 17,
      75,
       OPC_CheckChild2CondCode, ISD::SETUGT,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitIntegerI64, 0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 5,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
                       MVT::i32, 2, 0, 6,
       OPC_EmitIntegerI32, Mips::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::i64, 3, 4, 7, 8,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
                       MVT::i64, 2, 2, 9,
       OPC_EmitIntegerI64, 0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 2, 12,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
                       MVT::i32, 2, 0, 13,
       OPC_EmitIntegerI32, Mips::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::i64, 3, 11, 14, 15,
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
                       MVT::i64, 2, 3, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
                       MVT::i64, 2, 10, 17,
      0,
     0,
    0,
   0,
  124,
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_Scope, 17,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ),
                    MVT::i32, 2, 1, 0,
   17,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ),
                    MVT::i32, 2, 1, 0,
   17,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ_MMR6),
                    MVT::i32, 2, 1, 0,
   17,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ_MMR6),
                    MVT::i32, 2, 1, 0,
   23,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
                    MVT::i64, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
                    MVT::i64, 2, 1, 2,
   23,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
                    MVT::i64, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
                    MVT::i64, 2, 1, 2,
   0,
  42|128,6,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
   OPC_RecordChild0,
   OPC_CheckTypeI32,
   OPC_Scope, 6|128,4,
    OPC_CheckChild0TypeI32,
    OPC_RecordChild1,
    OPC_Scope, 76,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 48, MVT::i32,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
                       MVT::i32, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                       MVT::i32, 3, 2, 4, 3,
      16,
       OPC_CheckPatternPredicate7,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
                       MVT::i32, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
                       MVT::i32, 3, 2, 4, 3,
      10,
       OPC_CheckPatternPredicate5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSlt),
                       MVT::i32, 4, 2, 3, 0, 1,
      0,
     17, MVT::i64,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                      MVT::i64, 3, 2, 4, 3,
     0,
    76,
     OPC_CheckChild2CondCode, ISD::SETUGE,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 48, MVT::i32,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
                       MVT::i32, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                       MVT::i32, 3, 2, 4, 3,
      16,
       OPC_CheckPatternPredicate7,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
                       MVT::i32, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
                       MVT::i32, 3, 2, 4, 3,
      10,
       OPC_CheckPatternPredicate5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSltu),
                       MVT::i32, 4, 2, 3, 0, 1,
      0,
     17, MVT::i64,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                      MVT::i64, 3, 2, 4, 3,
     0,
    76,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 48, MVT::i32,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
                       MVT::i32, 2, 1, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                       MVT::i32, 3, 2, 4, 3,
      16,
       OPC_CheckPatternPredicate7,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
                       MVT::i32, 2, 1, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
                       MVT::i32, 3, 2, 4, 3,
      10,
       OPC_CheckPatternPredicate5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSlt),
                       MVT::i32, 4, 2, 3, 1, 0,
      0,
     17, MVT::i64,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
                      MVT::i32, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                      MVT::i64, 3, 2, 4, 3,
     0,
    76,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 48, MVT::i32,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
                       MVT::i32, 2, 1, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                       MVT::i32, 3, 2, 4, 3,
      16,
       OPC_CheckPatternPredicate7,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
                       MVT::i32, 2, 1, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
                       MVT::i32, 3, 2, 4, 3,
      10,
       OPC_CheckPatternPredicate5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSltu),
                       MVT::i32, 4, 2, 3, 1, 0,
      0,
     17, MVT::i64,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
                      MVT::i32, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                      MVT::i64, 3, 2, 4, 3,
     0,
    76,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 48, MVT::i32,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
                       MVT::i32, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                       MVT::i32, 3, 2, 4, 3,
      16,
       OPC_CheckPatternPredicate7,
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
                       MVT::i32, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
                       MVT::i32, 3, 2, 4, 3,
      10,
       OPC_CheckPatternPredicate5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZCmp),
                       MVT::i32, 4, 2, 3, 1, 0,
      0,
     17, MVT::i64,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                      MVT::i64, 3, 2, 4, 3,
     0,
    94,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 66, MVT::i32,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
                       MVT::i32, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I),
                       MVT::i32, 3, 2, 4, 3,
      17,
       OPC_CheckPatternPredicate, 75,
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
                       MVT::i32, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
                       MVT::i32, 3, 2, 4, 3,
      16,
       OPC_CheckPatternPredicate7,
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
                       MVT::i32, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
                       MVT::i32, 3, 2, 4, 3,
      10,
       OPC_CheckPatternPredicate5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZCmp),
                       MVT::i32, 4, 2, 3, 1, 0,
      0,
     17, MVT::i64,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I64),
                      MVT::i64, 3, 2, 4, 3,
     0,
    16,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZSlt),
                     MVT::i32, 4, 2, 3, 1, 0,
    16,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZSltu),
                     MVT::i32, 4, 2, 3, 1, 0,
    0,
   24|128,2,
    OPC_CheckChild0TypeI64,
    OPC_RecordChild1,
    OPC_Scope, 45,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 17, MVT::i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                      MVT::i32, 3, 2, 4, 3,
     17, MVT::i64,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                      MVT::i64, 3, 2, 4, 3,
     0,
    45,
     OPC_CheckChild2CondCode, ISD::SETUGE,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 17, MVT::i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                      MVT::i32, 3, 2, 4, 3,
     17, MVT::i64,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                      MVT::i64, 3, 2, 4, 3,
     0,
    45,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 17, MVT::i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
                      MVT::i32, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                      MVT::i32, 3, 2, 4, 3,
     17, MVT::i64,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
                      MVT::i32, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                      MVT::i64, 3, 2, 4, 3,
     0,
    45,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 17, MVT::i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
                      MVT::i32, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
                      MVT::i32, 3, 2, 4, 3,
     17, MVT::i64,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
                      MVT::i32, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
                      MVT::i64, 3, 2, 4, 3,
     0,
    45,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 17, MVT::i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I),
                      MVT::i32, 3, 2, 4, 3,
     17, MVT::i64,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I64),
                      MVT::i64, 3, 2, 4, 3,
     0,
    45,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 17, MVT::i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I),
                      MVT::i32, 3, 2, 4, 3,
     17, MVT::i64,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I64),
                      MVT::i64, 3, 2, 4, 3,
     0,
    0,
   0,
  106|128,1,
   OPC_RecordChild0,
   OPC_Scope, 44|128,1,
    OPC_CheckChild0TypeI32,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 103, MVT::i32,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I),
                      MVT::i32, 3, 1, 0, 2,
     10,
      OPC_CheckPatternPredicate, 75,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
                      MVT::i32, 3, 1, 0, 2,
     9,
      OPC_CheckPatternPredicate7,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
                      MVT::i32, 3, 1, 0, 2,
     23,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
                      MVT::i32, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
                      MVT::i32, 2, 2, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
                      MVT::i32, 2, 3, 4,
     23,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
                      MVT::i32, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
                      MVT::i32, 2, 2, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
                      MVT::i32, 2, 3, 4,
     10,
      OPC_CheckPatternPredicate, 49,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_I),
                      MVT::i32, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelBneZ),
                      MVT::i32, 3, 1, 2, 0,
     0,
    60, MVT::i64,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I64),
                      MVT::i64, 3, 1, 0, 2,
     35,
      OPC_CheckPatternPredicate, 19,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
                      MVT::i64, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
                      MVT::i64, 2, 1, 3,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
                      MVT::i64, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
                      MVT::i64, 2, 2, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
                      MVT::i64, 2, 4, 6,
     10,
      OPC_CheckPatternPredicate, 49,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_I64),
                      MVT::i64, 3, 0, 1, 2,
     0,
    0,
   56,
    OPC_CheckChild0TypeI64,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 10, MVT::i32,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I),
                     MVT::i32, 3, 1, 0, 2,
    37, MVT::i64,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I64),
                      MVT::i64, 3, 1, 0, 2,
     23,
      OPC_CheckPatternPredicate, 19,
      OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
                      MVT::i64, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
                      MVT::i64, 2, 2, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
                      MVT::i64, 2, 3, 4,
     0,
    0,
   0,
  115|128,15,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
   OPC_RecordChild0,
   OPC_Scope, 2|128,11,
    OPC_CheckChild0TypeI32,
    OPC_Scope, 17|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckTypeI32,
     OPC_Scope, 69,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 23, MVT::f32,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 20,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                        MVT::f32, 3, 1, 0, 2,
       9,
        OPC_CheckPatternPredicate7,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
                        MVT::f32, 3, 1, 0, 2,
       0,
      35, MVT::f64,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 33,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
                        MVT::f64, 3, 1, 0, 2,
       10,
        OPC_CheckPatternPredicate, 21,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                        MVT::f64, 3, 1, 0, 2,
       10,
        OPC_CheckPatternPredicate, 32,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
                        MVT::f64, 3, 1, 0, 2,
       0,
      0,
     69,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 23, MVT::f32,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 20,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S),
                        MVT::f32, 3, 1, 0, 2,
       9,
        OPC_CheckPatternPredicate7,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S_MM),
                        MVT::f32, 3, 1, 0, 2,
       0,
      35, MVT::f64,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 33,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32),
                        MVT::f64, 3, 1, 0, 2,
       10,
        OPC_CheckPatternPredicate, 21,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D64),
                        MVT::f64, 3, 1, 0, 2,
       10,
        OPC_CheckPatternPredicate, 32,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32_MM),
                        MVT::f64, 3, 1, 0, 2,
       0,
      0,
     0,
    106|128,9,
     OPC_RecordChild1,
     OPC_Scope, 105|128,4,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 57,
       OPC_CheckPredicate7,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_Scope, 25,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 20,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
                        MVT::i32, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                        MVT::f32, 3, 2, 5, 3,
       25,
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 20,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
                        MVT::i32, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                        MVT::f32, 3, 2, 5, 3,
       0,
      64,
       OPC_CheckPredicate, 10,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_Scope, 28,
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 20,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 2, 4,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
                        MVT::i32, 2, 0, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                        MVT::f32, 3, 2, 6, 3,
       28,
        OPC_CheckChild2CondCode, ISD::SETUGT,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 20,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 2, 4,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
                        MVT::i32, 2, 0, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                        MVT::f32, 3, 2, 6, 3,
       0,
      57,
       OPC_CheckPredicate7,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_Scope, 25,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
                        MVT::i32, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
                        MVT::f64, 3, 2, 5, 3,
       25,
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
                        MVT::i32, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
                        MVT::f64, 3, 2, 5, 3,
       0,
      64,
       OPC_CheckPredicate, 10,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_Scope, 28,
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 2, 4,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
                        MVT::i32, 2, 0, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
                        MVT::f64, 3, 2, 6, 3,
       28,
        OPC_CheckChild2CondCode, ISD::SETUGT,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 2, 4,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
                        MVT::i32, 2, 0, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
                        MVT::f64, 3, 2, 6, 3,
       0,
      57,
       OPC_CheckPredicate7,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_Scope, 25,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 21,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
                        MVT::i32, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                        MVT::f64, 3, 2, 5, 3,
       25,
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 21,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
                        MVT::i32, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                        MVT::f64, 3, 2, 5, 3,
       0,
      64,
       OPC_CheckPredicate, 10,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_Scope, 28,
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 21,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 2, 4,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
                        MVT::i32, 2, 0, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                        MVT::f64, 3, 2, 6, 3,
       28,
        OPC_CheckChild2CondCode, ISD::SETUGT,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 21,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 2, 4,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
                        MVT::i32, 2, 0, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                        MVT::f64, 3, 2, 6, 3,
       0,
      55,
       OPC_CheckPredicate7,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_Scope, 24,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate7,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
                        MVT::i32, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
                        MVT::f32, 3, 2, 5, 3,
       24,
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate7,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
                        MVT::i32, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
                        MVT::f32, 3, 2, 5, 3,
       0,
      62,
       OPC_CheckPredicate, 10,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_Scope, 27,
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate7,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 2, 4,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
                        MVT::i32, 2, 0, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
                        MVT::f32, 3, 2, 6, 3,
       27,
        OPC_CheckChild2CondCode, ISD::SETUGT,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate7,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 2, 4,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
                        MVT::i32, 2, 0, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
                        MVT::f32, 3, 2, 6, 3,
       0,
      57,
       OPC_CheckPredicate7,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_Scope, 25,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
                        MVT::i32, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
                        MVT::f64, 3, 2, 5, 3,
       25,
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
                        MVT::i32, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
                        MVT::f64, 3, 2, 5, 3,
       0,
      64,
       OPC_CheckPredicate, 10,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_Scope, 28,
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 2, 4,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
                        MVT::i32, 2, 0, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
                        MVT::f64, 3, 2, 6, 3,
       28,
        OPC_CheckChild2CondCode, ISD::SETUGT,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 2, 4,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
                        MVT::i32, 2, 0, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
                        MVT::f64, 3, 2, 6, 3,
       0,
      0,
     105,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 37, MVT::f32,
       OPC_Scope, 17,
        OPC_CheckPatternPredicate, 20,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                        MVT::f32, 3, 2, 4, 3,
       16,
        OPC_CheckPatternPredicate7,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
                        MVT::f32, 3, 2, 4, 3,
       0,
      56, MVT::f64,
       OPC_Scope, 17,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
                        MVT::f64, 3, 2, 4, 3,
       17,
        OPC_CheckPatternPredicate, 21,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                        MVT::f64, 3, 2, 4, 3,
       17,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
                        MVT::f64, 3, 2, 4, 3,
       0,
      0,
     105,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 37, MVT::f32,
       OPC_Scope, 17,
        OPC_CheckPatternPredicate, 20,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                        MVT::f32, 3, 2, 4, 3,
       16,
        OPC_CheckPatternPredicate7,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
                        MVT::f32, 3, 2, 4, 3,
       0,
      56, MVT::f64,
       OPC_Scope, 17,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
                        MVT::f64, 3, 2, 4, 3,
       17,
        OPC_CheckPatternPredicate, 21,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                        MVT::f64, 3, 2, 4, 3,
       17,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
                        MVT::f64, 3, 2, 4, 3,
       0,
      0,
     105,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 37, MVT::f32,
       OPC_Scope, 17,
        OPC_CheckPatternPredicate, 20,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
                        MVT::i32, 2, 1, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                        MVT::f32, 3, 2, 4, 3,
       16,
        OPC_CheckPatternPredicate7,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
                        MVT::i32, 2, 1, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
                        MVT::f32, 3, 2, 4, 3,
       0,
      56, MVT::f64,
       OPC_Scope, 17,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
                        MVT::i32, 2, 1, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
                        MVT::f64, 3, 2, 4, 3,
       17,
        OPC_CheckPatternPredicate, 21,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
                        MVT::i32, 2, 1, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                        MVT::f64, 3, 2, 4, 3,
       17,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
                        MVT::i32, 2, 1, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
                        MVT::f64, 3, 2, 4, 3,
       0,
      0,
     105,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 37, MVT::f32,
       OPC_Scope, 17,
        OPC_CheckPatternPredicate, 20,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
                        MVT::i32, 2, 1, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                        MVT::f32, 3, 2, 4, 3,
       16,
        OPC_CheckPatternPredicate7,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
                        MVT::i32, 2, 1, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
                        MVT::f32, 3, 2, 4, 3,
       0,
      56, MVT::f64,
       OPC_Scope, 17,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
                        MVT::i32, 2, 1, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
                        MVT::f64, 3, 2, 4, 3,
       17,
        OPC_CheckPatternPredicate, 21,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
                        MVT::i32, 2, 1, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                        MVT::f64, 3, 2, 4, 3,
       17,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
                        MVT::i32, 2, 1, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
                        MVT::f64, 3, 2, 4, 3,
       0,
      0,
     105,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 37, MVT::f32,
       OPC_Scope, 17,
        OPC_CheckPatternPredicate, 20,
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                        MVT::f32, 3, 2, 4, 3,
       16,
        OPC_CheckPatternPredicate7,
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
                        MVT::f32, 3, 2, 4, 3,
       0,
      56, MVT::f64,
       OPC_Scope, 17,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
                        MVT::f64, 3, 2, 4, 3,
       17,
        OPC_CheckPatternPredicate, 21,
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                        MVT::f64, 3, 2, 4, 3,
       17,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
                        MVT::f64, 3, 2, 4, 3,
       0,
      0,
     105,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 37, MVT::f32,
       OPC_Scope, 17,
        OPC_CheckPatternPredicate, 20,
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S),
                        MVT::f32, 3, 2, 4, 3,
       16,
        OPC_CheckPatternPredicate7,
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S_MM),
                        MVT::f32, 3, 2, 4, 3,
       0,
      56, MVT::f64,
       OPC_Scope, 17,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32),
                        MVT::f64, 3, 2, 4, 3,
       17,
        OPC_CheckPatternPredicate, 21,
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D64),
                        MVT::f64, 3, 2, 4, 3,
       17,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
                        MVT::i32, 2, 0, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32_MM),
                        MVT::f64, 3, 2, 4, 3,
       0,
      0,
     0,
    0,
   102|128,4,
    OPC_CheckChild0TypeI64,
    OPC_Scope, 69,
     OPC_CheckChild1Integer, 0,
     OPC_CheckTypeI32,
     OPC_Scope, 31,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 10, MVT::f32,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_S),
                       MVT::f32, 3, 1, 0, 2,
      10, MVT::f64,
       OPC_CheckPatternPredicate, 21,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_D64),
                       MVT::f64, 3, 1, 0, 2,
      0,
     31,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 10, MVT::f32,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_S),
                       MVT::f32, 3, 1, 0, 2,
      10, MVT::f64,
       OPC_CheckPatternPredicate, 21,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_D64),
                       MVT::f64, 3, 1, 0, 2,
      0,
     0,
    27|128,4,
     OPC_RecordChild1,
     OPC_Scope, 124|128,1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 57,
       OPC_CheckPredicate7,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_Scope, 25,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
                        MVT::i32, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                        MVT::f32, 3, 2, 5, 3,
       25,
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
                        MVT::i32, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                        MVT::f32, 3, 2, 5, 3,
       0,
      64,
       OPC_CheckPredicate, 10,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_Scope, 28,
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 2, 4,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
                        MVT::i32, 2, 0, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                        MVT::f32, 3, 2, 6, 3,
       28,
        OPC_CheckChild2CondCode, ISD::SETUGT,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 2, 4,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
                        MVT::i32, 2, 0, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                        MVT::f32, 3, 2, 6, 3,
       0,
      57,
       OPC_CheckPredicate7,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_Scope, 25,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 21,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
                        MVT::i32, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                        MVT::f64, 3, 2, 5, 3,
       25,
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 21,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
                        MVT::i32, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                        MVT::f64, 3, 2, 5, 3,
       0,
      64,
       OPC_CheckPredicate, 10,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_Scope, 28,
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 21,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 2, 4,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
                        MVT::i32, 2, 0, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                        MVT::f64, 3, 2, 6, 3,
       28,
        OPC_CheckChild2CondCode, ISD::SETUGT,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 21,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 2, 4,
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
                        MVT::i32, 2, 0, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                        MVT::f64, 3, 2, 6, 3,
       0,
      0,
     46,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 17, MVT::f32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
                       MVT::i32, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                       MVT::f32, 3, 2, 4, 3,
      17, MVT::f64,
       OPC_CheckPatternPredicate, 21,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
                       MVT::i32, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                       MVT::f64, 3, 2, 4, 3,
      0,
     46,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 17, MVT::f32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
                       MVT::i32, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                       MVT::f32, 3, 2, 4, 3,
      17, MVT::f64,
       OPC_CheckPatternPredicate, 21,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
                       MVT::i32, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                       MVT::f64, 3, 2, 4, 3,
      0,
     46,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 17, MVT::f32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
                       MVT::i32, 2, 1, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                       MVT::f32, 3, 2, 4, 3,
      17, MVT::f64,
       OPC_CheckPatternPredicate, 21,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
                       MVT::i32, 2, 1, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                       MVT::f64, 3, 2, 4, 3,
      0,
     46,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 17, MVT::f32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
                       MVT::i32, 2, 1, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
                       MVT::f32, 3, 2, 4, 3,
      17, MVT::f64,
       OPC_CheckPatternPredicate, 21,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
                       MVT::i32, 2, 1, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
                       MVT::f64, 3, 2, 4, 3,
      0,
     46,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 17, MVT::f32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
                       MVT::i64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_S),
                       MVT::f32, 3, 2, 4, 3,
      17, MVT::f64,
       OPC_CheckPatternPredicate, 21,
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
                       MVT::i64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_D64),
                       MVT::f64, 3, 2, 4, 3,
      0,
     46,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 17, MVT::f32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
                       MVT::i64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_S),
                       MVT::f32, 3, 2, 4, 3,
      17, MVT::f64,
       OPC_CheckPatternPredicate, 21,
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
                       MVT::i64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_D64),
                       MVT::f64, 3, 2, 4, 3,
      0,
     0,
    0,
   0,
  51|128,1,
   OPC_RecordChild0,
   OPC_Scope, 16|128,1,
    OPC_CheckChild0TypeI32,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 56, MVT::f32,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S),
                      MVT::f32, 3, 1, 0, 2,
     10,
      OPC_CheckPatternPredicate, 31,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_S),
                      MVT::f32, 3, 0, 2, 1,
     9,
      OPC_CheckPatternPredicate7,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S_MM),
                      MVT::f32, 3, 1, 0, 2,
     10,
      OPC_CheckPatternPredicate, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_S_MMR6),
                      MVT::f32, 3, 0, 2, 1,
     10,
      OPC_CheckPatternPredicate, 49,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_S),
                      MVT::f32, 3, 0, 1, 2,
     0,
    79, MVT::f64,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 33,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32),
                      MVT::f64, 3, 1, 0, 2,
     10,
      OPC_CheckPatternPredicate, 21,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D64),
                      MVT::f64, 3, 1, 0, 2,
     10,
      OPC_CheckPatternPredicate, 31,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_D),
                      MVT::f64, 3, 0, 2, 1,
     10,
      OPC_CheckPatternPredicate, 32,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32_MM),
                      MVT::f64, 3, 1, 0, 2,
     10,
      OPC_CheckPatternPredicate, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_D_MMR6),
                      MVT::f64, 3, 0, 2, 1,
     10,
      OPC_CheckPatternPredicate, 76,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_D32),
                      MVT::f64, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 77,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_D64),
                      MVT::f64, 3, 0, 1, 2,
     0,
    0,
   29,
    OPC_CheckChild0TypeI64,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 10, MVT::f32,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_S),
                     MVT::f32, 3, 1, 0, 2,
    10, MVT::f64,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_D64),
                     MVT::f64, 3, 1, 0, 2,
    0,
   0,
  0,
 51|128,1, TARGET_VAL(MipsISD::Ext),
  OPC_Scope, 40,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate3,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitConvertToTarget1,
   OPC_EmitConvertToTarget2,
   OPC_EmitNode1None, TARGET_VAL(Mips::DEXT),
                   MVT::i64, 3, 0, 3, 4,
   OPC_EmitIntegerI32, Mips::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 5, 6,
  6|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 59,
    OPC_CheckPredicate3,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_Scope, 33,
     OPC_CheckPredicate, 34,
     OPC_MoveParent,
     OPC_SwitchType , 12, MVT::i32,
      OPC_CheckPatternPredicate, 58,
      OPC_EmitConvertToTarget1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::EXT),
                      MVT::i32, 3, 0, 3, 4,
     12, MVT::i64,
      OPC_CheckPatternPredicate, 63,
      OPC_EmitConvertToTarget1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXT),
                      MVT::i64, 3, 0, 3, 4,
     0,
    16,
     OPC_CheckPredicate, 51,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 63,
     OPC_EmitConvertToTarget1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXTM),
                     MVT::i64, 3, 0, 3, 4,
    0,
   23,
    OPC_CheckPredicate, 43,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 34,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitConvertToTarget1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXTU),
                    MVT::i64, 3, 0, 3, 4,
   21,
    OPC_CheckPredicate3,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 34,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate7,
    OPC_EmitConvertToTarget1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::EXT_MM),
                    MVT::i32, 3, 0, 3, 4,
   19,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitConvertToTarget1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::EXT_MMR6),
                    MVT::i32, 3, 0, 3, 4,
   0,
  0,
 42|128,2, TARGET_VAL(ISD::ATOMIC_LOAD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 36|128,1, MVT::i32,
   OPC_Scope, 15,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   15,
    OPC_CheckPredicate, 27,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   15,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   15,
    OPC_CheckPredicate, 27,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   16,
    OPC_CheckPredicate, 35,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   15,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LB_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   15,
    OPC_CheckPredicate, 27,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LB_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   15,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   15,
    OPC_CheckPredicate, 27,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   16,
    OPC_CheckPredicate, 35,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   0,
  124, MVT::i64,
   OPC_Scope, 16,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 9,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   16,
    OPC_CheckPredicate, 27,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 9,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   16,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 9,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   16,
    OPC_CheckPredicate, 27,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 9,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   17,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 9,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   17,
    OPC_CheckPredicate, 27,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 9,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   17,
    OPC_CheckPredicate, 35,
    OPC_CheckPredicate, 16,
    OPC_CheckPatternPredicate, 9,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   0,
  0,
 120, TARGET_VAL(ISD::ATOMIC_STORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 47,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_Scope, 13,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SB), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   13,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SH), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   14,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   0,
  66,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 9,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SB64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   14,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 9,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SH64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   15,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 9,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SW64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   15,
    OPC_CheckPredicate, 16,
    OPC_CheckPatternPredicate, 9,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SD), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   0,
  0,
 70, TARGET_VAL(MipsISD::LWL),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 46, MVT::i32,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 3, 4, 2,
   14,
    OPC_CheckPatternPredicate, 69,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LWLE_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 3, 4, 2,
   13,
    OPC_CheckPatternPredicate7,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 3, 4, 2,
   0,
  14, MVT::i64,
   OPC_CheckPatternPredicate, 18,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 3, 3, 4, 2,
  0,
 70, TARGET_VAL(MipsISD::LWR),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 46, MVT::i32,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 3, 4, 2,
   14,
    OPC_CheckPatternPredicate, 69,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LWRE_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 3, 4, 2,
   13,
    OPC_CheckPatternPredicate7,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 3, 4, 2,
   0,
  14, MVT::i64,
   OPC_CheckPatternPredicate, 18,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 3, 3, 4, 2,
  0,
 67, TARGET_VAL(MipsISD::SWL),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 45,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   13,
    OPC_CheckPatternPredicate, 69,
    OPC_CheckComplexPat7, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SWLE_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   12,
    OPC_CheckPatternPredicate7,
    OPC_CheckComplexPat7, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   0,
  15,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 18,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL64), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 4,
  0,
 67, TARGET_VAL(MipsISD::SWR),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 45,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   13,
    OPC_CheckPatternPredicate, 69,
    OPC_CheckComplexPat7, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SWRE_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   12,
    OPC_CheckPatternPredicate7,
    OPC_CheckComplexPat7, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR_MM), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   0,
  15,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 18,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR64), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 4,
  0,
 19, TARGET_VAL(MipsISD::LDL),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckTypeI64,
  OPC_CheckPatternPredicate, 44,
  OPC_CheckComplexPat0, /*#*/1,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(Mips::LDL), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i64, 3, 3, 4, 2,
 19, TARGET_VAL(MipsISD::LDR),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckTypeI64,
  OPC_CheckPatternPredicate, 44,
  OPC_CheckComplexPat0, /*#*/1,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(Mips::LDR), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i64, 3, 3, 4, 2,
 18, TARGET_VAL(MipsISD::SDL),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate, 44,
  OPC_CheckComplexPat0, /*#*/2,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(Mips::SDL), 0|OPFL_Chain|OPFL_MemRefs,
                  3, 1, 3, 4,
 18, TARGET_VAL(MipsISD::SDR),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate, 44,
  OPC_CheckComplexPat0, /*#*/2,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(Mips::SDR), 0|OPFL_Chain|OPFL_MemRefs,
                  3, 1, 3, 4,
 27|128,10, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
  OPC_RecordNode,
  OPC_Scope, 59,
   OPC_CheckChild1Integer, 32|128,66|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 30,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_W),
                     MVT::i32, 2, 1, 3,
    10,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_W_MM),
                     MVT::i32, 2, 1, 3,
    0,
   9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_W),
                    MVT::i32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_W_MM),
                    MVT::i32, 2, 1, 2,
   0,
  35,
   OPC_CheckChild1Integer, 14|128,66|128,0,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 11,
    OPC_CheckPredicate, 44,
    OPC_MoveParent,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::RDDSP),
                    MVT::i32, 1, 1,
   11,
    OPC_CheckPredicate, 45,
    OPC_MoveParent,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::RDDSP_MM),
                    MVT::i32, 1, 1,
   0,
  27,
   OPC_CheckChild1Integer, 124|128,61,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDQ_S_W),
                    MVT::i32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDQ_S_W_MM),
                    MVT::i32, 2, 1, 2,
   0,
  28,
   OPC_CheckChild1Integer, 104|128,66|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBQ_S_W),
                    MVT::i32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBQ_S_W_MM),
                    MVT::i32, 2, 1, 2,
   0,
  24,
   OPC_CheckChild1Integer, 117|128,61,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_W),
                    MVT::i32, 1, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_W_MM),
                    MVT::i32, 1, 1,
   0,
  28,
   OPC_CheckChild1Integer, 78|128,65|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHL),
                    MVT::i32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHL_MM),
                    MVT::i32, 2, 1, 2,
   0,
  28,
   OPC_CheckChild1Integer, 79|128,65|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHR),
                    MVT::i32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHR_MM),
                    MVT::i32, 2, 1, 2,
   0,
  27,
   OPC_CheckChild1Integer, 34|128,63,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_EQ_QB),
                    MVT::i32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_EQ_QB_MM),
                    MVT::i32, 2, 1, 2,
   0,
  27,
   OPC_CheckChild1Integer, 36|128,63,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LT_QB),
                    MVT::i32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LT_QB_MM),
                    MVT::i32, 2, 1, 2,
   0,
  27,
   OPC_CheckChild1Integer, 35|128,63,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LE_QB),
                    MVT::i32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LE_QB_MM),
                    MVT::i32, 2, 1, 2,
   0,
  28,
   OPC_CheckChild1Integer, 126|128,64|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LWX),
                    MVT::i32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LWX_MM),
                    MVT::i32, 2, 1, 2,
   0,
  28,
   OPC_CheckChild1Integer, 124|128,64|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LHX),
                    MVT::i32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LHX_MM),
                    MVT::i32, 2, 1, 2,
   0,
  28,
   OPC_CheckChild1Integer, 113|128,64|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LBUX),
                    MVT::i32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LBUX_MM),
                    MVT::i32, 2, 1, 2,
   0,
  28,
   OPC_CheckChild1Integer, 108|128,64|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::INSV),
                    MVT::i32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::INSV_MM),
                    MVT::i32, 2, 1, 2,
   0,
  29,
   OPC_CheckChild1Integer, 31|128,63,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_EQ_QB),
                    MVT::i32, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_EQ_QB_MMR2),
                    MVT::i32, 2, 1, 2,
   0,
  29,
   OPC_CheckChild1Integer, 33|128,63,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LT_QB),
                    MVT::i32, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LT_QB_MMR2),
                    MVT::i32, 2, 1, 2,
   0,
  29,
   OPC_CheckChild1Integer, 32|128,63,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LE_QB),
                    MVT::i32, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LE_QB_MMR2),
                    MVT::i32, 2, 1, 2,
   0,
  30,
   OPC_CheckChild1Integer, 85|128,65|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_W),
                    MVT::i32, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_W_MMR2),
                    MVT::i32, 2, 1, 2,
   0,
  30,
   OPC_CheckChild1Integer, 83|128,65|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_W),
                    MVT::i32, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_W_MMR2),
                    MVT::i32, 2, 1, 2,
   0,
  14,
   OPC_CheckChild1Integer, 13|128,62,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDSC),
                   MVT::i32, 2, 1, 2,
  14,
   OPC_CheckChild1Integer, 28|128,62,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDWC),
                   MVT::i32, 2, 1, 2,
  9,
   OPC_CheckChild1Integer, 99|128,62,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::BPOSGE32_PSEUDO),
                   MVT::i32, 0,
  60,
   OPC_CheckChild1Integer, 31|128,66|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 31,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_MoveParent,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_PH),
                     MVT::v2i16, 2, 1, 3,
    10,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_PH_MM),
                     MVT::v2i16, 2, 1, 3,
    0,
   9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_PH),
                    MVT::v2i16, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_PH_MM),
                    MVT::v2i16, 2, 1, 2,
   0,
  46,
   OPC_CheckChild1Integer, 29|128,66|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 17,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_MoveParent,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_PH),
                    MVT::v2i16, 2, 1, 3,
   9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_PH),
                    MVT::v2i16, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_PH_MM),
                    MVT::v2i16, 2, 1, 2,
   0,
  46,
   OPC_CheckChild1Integer, 30|128,66|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 17,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_QB),
                    MVT::v4i8, 2, 1, 3,
   9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_QB),
                    MVT::v4i8, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_QB_MM),
                    MVT::v4i8, 2, 1, 2,
   0,
  24,
   OPC_CheckChild1Integer, 115|128,61,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_PH),
                    MVT::v2i16, 1, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_PH_MM),
                    MVT::v2i16, 1, 1,
   0,
  28,
   OPC_CheckChild1Integer, 10|128,66|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQ_RS_PH_W),
                    MVT::v2i16, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQ_RS_PH_W_MM),
                    MVT::v2i16, 2, 1, 2,
   0,
  28,
   OPC_CheckChild1Integer, 11|128,66|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQU_S_QB_PH),
                    MVT::v4i8, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQU_S_QB_PH_MM),
                    MVT::v4i8, 2, 1, 2,
   0,
  28,
   OPC_CheckChild1Integer, 80|128,65|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBL),
                    MVT::v2i16, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBL_MM),
                    MVT::v2i16, 2, 1, 2,
   0,
  28,
   OPC_CheckChild1Integer, 81|128,65|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBR),
                    MVT::v2i16, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBR_MM),
                    MVT::v2i16, 2, 1, 2,
   0,
  28,
   OPC_CheckChild1Integer, 82|128,65|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_PH),
                    MVT::v2i16, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_PH_MM),
                    MVT::v2i16, 2, 1, 2,
   0,
  28,
   OPC_CheckChild1Integer, 122|128,65|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_QB),
                    MVT::v4i8, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_QB_MM),
                    MVT::v4i8, 2, 1, 2,
   0,
  28,
   OPC_CheckChild1Integer, 121|128,65|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_PH),
                    MVT::v2i16, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_PH_MM),
                    MVT::v2i16, 2, 1, 2,
   0,
  29,
   OPC_CheckChild1Integer, 14|128,62,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_PH),
                    MVT::v2i16, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_PH_MMR2),
                    MVT::v2i16, 2, 1, 2,
   0,
  29,
   OPC_CheckChild1Integer, 16|128,62,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_S_PH),
                    MVT::v2i16, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_S_PH_MMR2),
                    MVT::v2i16, 2, 1, 2,
   0,
  30,
   OPC_CheckChild1Integer, 125|128,66|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_PH),
                    MVT::v2i16, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_PH_MMR2),
                    MVT::v2i16, 2, 1, 2,
   0,
  30,
   OPC_CheckChild1Integer, 127|128,66|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_S_PH),
                    MVT::v2i16, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_S_PH_MMR2),
                    MVT::v2i16, 2, 1, 2,
   0,
  26,
   OPC_CheckChild1Integer, 116|128,61,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_QB),
                    MVT::v4i8, 1, 1,
   9,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_QB_MMR2),
                    MVT::v4i8, 1, 1,
   0,
  30,
   OPC_CheckChild1Integer, 77|128,65|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MUL_S_PH),
                    MVT::v2i16, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MUL_S_PH_MMR2),
                    MVT::v2i16, 2, 1, 2,
   0,
  30,
   OPC_CheckChild1Integer, 84|128,65|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_PH),
                    MVT::v2i16, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_PH_MMR2),
                    MVT::v2i16, 2, 1, 2,
   0,
  30,
   OPC_CheckChild1Integer, 5|128,66|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECR_QB_PH),
                    MVT::v4i8, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECR_QB_PH_MMR2),
                    MVT::v4i8, 2, 1, 2,
   0,
  16,
   OPC_CheckChild1Integer, 74|128,65|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MUL_PH),
                   MVT::v2i16, 2, 1, 2,
  16,
   OPC_CheckChild1Integer, 122|128,64|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LDR_D),
                   MVT::v2i64, 2, 1, 2,
  16,
   OPC_CheckChild1Integer, 123|128,64|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LDR_W),
                   MVT::v4i32, 2, 1, 2,
  0,
 122|128,36, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
  OPC_Scope, 55,
   OPC_CheckChild0Integer, 37|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 28,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_W),
                     MVT::i32, 2, 0, 2,
    9,
     OPC_CheckPatternPredicate6,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_W_MM),
                     MVT::i32, 2, 0, 2,
    0,
   8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_W),
                    MVT::i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_W_MM),
                    MVT::i32, 2, 0, 1,
   0,
  36,
   OPC_CheckChild0Integer, 31|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::APPEND),
                    MVT::i32, 3, 1, 2, 0,
   10,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::APPEND_MMR2),
                    MVT::i32, 3, 1, 2, 0,
   0,
  42,
   OPC_CheckChild0Integer, 56|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_SwitchOpcode , 13, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 21,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BALIGN),
                    MVT::i32, 3, 1, 2, 0,
   14, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 21,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BALIGN_MMR2),
                    MVT::i32, 3, 1, 3, 0,
   0,
  37,
   OPC_CheckChild0Integer, 12|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PREPEND),
                    MVT::i32, 3, 1, 2, 0,
   10,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PREPEND_MMR2),
                    MVT::i32, 3, 1, 2, 0,
   0,
  26,
   OPC_CheckChild0Integer, 61|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODSUB),
                    MVT::i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODSUB_MM),
                    MVT::i32, 2, 0, 1,
   0,
  23,
   OPC_CheckChild0Integer, 13|128,66|128,0,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::RADDU_W_QB),
                    MVT::i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::RADDU_W_QB_MM),
                    MVT::i32, 1, 0,
   0,
  23,
   OPC_CheckChild0Integer, 123|128,65|128,0,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHL),
                    MVT::i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHL_MM),
                    MVT::i32, 1, 0,
   0,
  23,
   OPC_CheckChild0Integer, 124|128,65|128,0,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHR),
                    MVT::i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHR_MM),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Integer, 81|128,62,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BITREV),
                    MVT::i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BITREV_MM),
                    MVT::i32, 1, 0,
   0,
  27,
   OPC_CheckChild0Integer, 0|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_W),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_W_MMR2),
                    MVT::i32, 2, 0, 1,
   0,
  27,
   OPC_CheckChild0Integer, 127|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_W),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_W_MMR2),
                    MVT::i32, 2, 0, 1,
   0,
  28,
   OPC_CheckChild0Integer, 108|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_W),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_W_MMR2),
                    MVT::i32, 2, 0, 1,
   0,
  28,
   OPC_CheckChild0Integer, 107|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_W),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_W_MMR2),
                    MVT::i32, 2, 0, 1,
   0,
  56,
   OPC_CheckChild0Integer, 35|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 29,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_MoveParent,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_PH),
                     MVT::v2i16, 2, 0, 2,
    9,
     OPC_CheckPatternPredicate6,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_PH_MM),
                     MVT::v2i16, 2, 0, 2,
    0,
   8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_PH),
                    MVT::v2i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_PH_MM),
                    MVT::v2i16, 2, 0, 1,
   0,
  51,
   OPC_CheckChild0Integer, 16|128,66|128,0,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_MoveParent,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_QB),
                     MVT::v4i8, 1, 1,
    8,
     OPC_CheckPatternPredicate6,
     OPC_EmitConvertToTarget0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_QB_MM),
                     MVT::v4i8, 1, 1,
    0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_QB),
                    MVT::v4i8, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_QB_MM),
                    MVT::v4i8, 1, 0,
   0,
  51,
   OPC_CheckChild0Integer, 15|128,66|128,0,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 52,
    OPC_MoveParent,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_PH),
                     MVT::v2i16, 1, 1,
    8,
     OPC_CheckPatternPredicate6,
     OPC_EmitConvertToTarget0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_PH_MM),
                     MVT::v2i16, 1, 1,
    0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_PH),
                    MVT::v2i16, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_PH_MM),
                    MVT::v2i16, 1, 0,
   0,
  37,
   OPC_CheckChild0Integer, 6|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_PH_W),
                    MVT::v2i16, 3, 1, 2, 0,
   10,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_PH_W_MMR2),
                    MVT::v2i16, 3, 1, 2, 0,
   0,
  37,
   OPC_CheckChild0Integer, 7|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_R_PH_W),
                    MVT::v2i16, 3, 1, 2, 0,
   10,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_R_PH_W_MMR2),
                    MVT::v2i16, 3, 1, 2, 0,
   0,
  60,
   OPC_CheckChild0Integer, 36|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 31,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_QB),
                     MVT::v4i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_QB_MMR2),
                     MVT::v4i8, 2, 0, 2,
    0,
   9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_QB),
                    MVT::v4i8, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_QB_MMR2),
                    MVT::v4i8, 2, 0, 1,
   0,
  43,
   OPC_CheckChild0Integer, 33|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_MoveParent,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_PH),
                    MVT::v2i16, 2, 0, 2,
   8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_PH),
                    MVT::v2i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_PH_MM),
                    MVT::v2i16, 2, 0, 1,
   0,
  46,
   OPC_CheckChild0Integer, 38|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 17,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_PH),
                    MVT::v2i16, 2, 0, 2,
   9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_PH),
                    MVT::v2i16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_PH_MMR2),
                    MVT::v2i16, 2, 0, 1,
   0,
  46,
   OPC_CheckChild0Integer, 34|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 17,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_QB),
                    MVT::v4i8, 2, 0, 2,
   9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_QB),
                    MVT::v4i8, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_QB_MMR2),
                    MVT::v4i8, 2, 0, 1,
   0,
  43,
   OPC_CheckChild0Integer, 39|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_QB),
                    MVT::v4i8, 2, 0, 2,
   8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_QB),
                    MVT::v4i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_QB_MM),
                    MVT::v4i8, 2, 0, 1,
   0,
  21,
   OPC_CheckChild0Integer, 17|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_B),
                   MVT::v16i8, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 19|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 14,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_H),
                   MVT::v8i16, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 20|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_W),
                   MVT::v4i32, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 18|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 15,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_D),
                   MVT::v2i64, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 21|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_B),
                   MVT::v16i8, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 23|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 14,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_H),
                   MVT::v8i16, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 24|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_W),
                   MVT::v4i32, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 22|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 15,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_D),
                   MVT::v2i64, 2, 0, 1,
  23,
   OPC_CheckChild0Integer, 44|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 14,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_B),
                   MVT::v16i8, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 46|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_H),
                   MVT::v8i16, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 47|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 21,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_W),
                   MVT::v4i32, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 45|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 25,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_D),
                   MVT::v2i64, 3, 0, 1, 2,
  21,
   OPC_CheckChild0Integer, 76|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_B),
                   MVT::v16i8, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 78|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 14,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_H),
                   MVT::v8i16, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 79|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_W),
                   MVT::v4i32, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 77|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 15,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_D),
                   MVT::v2i64, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 92|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_B),
                   MVT::v16i8, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 94|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 14,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_H),
                   MVT::v8i16, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 95|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_W),
                   MVT::v4i32, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 93|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 15,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_D),
                   MVT::v2i64, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 17|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_S_QB),
                    MVT::v4i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_S_QB_MM),
                    MVT::v4i8, 2, 0, 1,
   0,
  26,
   OPC_CheckChild0Integer, 0|128,67|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_S_QB),
                    MVT::v4i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_S_QB_MM),
                    MVT::v4i8, 2, 0, 1,
   0,
  25,
   OPC_CheckChild0Integer, 123|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_S_PH),
                    MVT::v2i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_S_PH_MM),
                    MVT::v2i16, 2, 0, 1,
   0,
  26,
   OPC_CheckChild0Integer, 103|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_S_PH),
                    MVT::v2i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_S_PH_MM),
                    MVT::v2i16, 2, 0, 1,
   0,
  26,
   OPC_CheckChild0Integer, 9|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_QB_PH),
                    MVT::v4i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_QB_PH_MM),
                    MVT::v4i8, 2, 0, 1,
   0,
  26,
   OPC_CheckChild0Integer, 8|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_PH_W),
                    MVT::v2i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_PH_W_MM),
                    MVT::v2i16, 2, 0, 1,
   0,
  23,
   OPC_CheckChild0Integer, 125|128,65|128,0,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBL),
                    MVT::v2i16, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBL_MM),
                    MVT::v2i16, 1, 0,
   0,
  23,
   OPC_CheckChild0Integer, 127|128,65|128,0,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBR),
                    MVT::v2i16, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBR_MM),
                    MVT::v2i16, 1, 0,
   0,
  23,
   OPC_CheckChild0Integer, 126|128,65|128,0,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBLA),
                    MVT::v2i16, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBLA_MM),
                    MVT::v2i16, 1, 0,
   0,
  23,
   OPC_CheckChild0Integer, 0|128,66|128,0,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBRA),
                    MVT::v2i16, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBRA_MM),
                    MVT::v2i16, 1, 0,
   0,
  23,
   OPC_CheckChild0Integer, 1|128,66|128,0,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBL),
                    MVT::v2i16, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBL_MM),
                    MVT::v2i16, 1, 0,
   0,
  23,
   OPC_CheckChild0Integer, 3|128,66|128,0,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBR),
                    MVT::v2i16, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBR_MM),
                    MVT::v2i16, 1, 0,
   0,
  23,
   OPC_CheckChild0Integer, 2|128,66|128,0,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBLA),
                    MVT::v2i16, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBLA_MM),
                    MVT::v2i16, 1, 0,
   0,
  23,
   OPC_CheckChild0Integer, 4|128,66|128,0,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBRA),
                    MVT::v2i16, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBRA_MM),
                    MVT::v2i16, 1, 0,
   0,
  26,
   OPC_CheckChild0Integer, 108|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PACKRL_PH),
                    MVT::v2i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PACKRL_PH_MM),
                    MVT::v2i16, 2, 0, 1,
   0,
  27,
   OPC_CheckChild0Integer, 18|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_QB),
                    MVT::v4i8, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_QB_MMR2),
                    MVT::v4i8, 2, 0, 1,
   0,
  27,
   OPC_CheckChild0Integer, 19|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_R_QB),
                    MVT::v4i8, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_R_QB_MMR2),
                    MVT::v4i8, 2, 0, 1,
   0,
  28,
   OPC_CheckChild0Integer, 1|128,67|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_QB),
                    MVT::v4i8, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_QB_MMR2),
                    MVT::v4i8, 2, 0, 1,
   0,
  28,
   OPC_CheckChild0Integer, 2|128,67|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_R_QB),
                    MVT::v4i8, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_R_QB_MMR2),
                    MVT::v4i8, 2, 0, 1,
   0,
  27,
   OPC_CheckChild0Integer, 125|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_PH),
                    MVT::v2i16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_PH_MMR2),
                    MVT::v2i16, 2, 0, 1,
   0,
  27,
   OPC_CheckChild0Integer, 126|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_PH),
                    MVT::v2i16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_PH_MMR2),
                    MVT::v2i16, 2, 0, 1,
   0,
  28,
   OPC_CheckChild0Integer, 105|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_PH),
                    MVT::v2i16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_PH_MMR2),
                    MVT::v2i16, 2, 0, 1,
   0,
  28,
   OPC_CheckChild0Integer, 106|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_PH),
                    MVT::v2i16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_PH_MMR2),
                    MVT::v2i16, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 122|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_PH),
                   MVT::v2i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 102|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_PH),
                   MVT::v2i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 15|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_QB),
                   MVT::v4i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 126|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_QB),
                   MVT::v4i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 118|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 120|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 121|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 119|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 1|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 3|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 4|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 2|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 5|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 7|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 8|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 6|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 9|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 11|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 12|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 10|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 32|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 34|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 35|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 33|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 36|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 38|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 39|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 37|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 40|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 42|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 43|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 41|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 44|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 46|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 47|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 45|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 48|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 50|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 51|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 49|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 52|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 54|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 55|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 53|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_D),
                   MVT::v2i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 65|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_B),
                   MVT::v16i8, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 67|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_H),
                   MVT::v8i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 68|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_W),
                   MVT::v4i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 66|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_D),
                   MVT::v2i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 73|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_B),
                   MVT::v16i8, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 75|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_H),
                   MVT::v8i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 76|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_W),
                   MVT::v4i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 74|128,62,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_D),
                   MVT::v2i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 59|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_S_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 60|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_S_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 58|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_S_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 62|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_U_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 63|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_U_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 61|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_U_D),
                   MVT::v2i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 66|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_S_H),
                   MVT::v8i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 67|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_S_W),
                   MVT::v4i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 65|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_S_D),
                   MVT::v2i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 69|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_U_H),
                   MVT::v8i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 70|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_U_W),
                   MVT::v4i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 68|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_U_D),
                   MVT::v2i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 86|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_S_H),
                   MVT::v8i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 87|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_S_W),
                   MVT::v4i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 85|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_S_D),
                   MVT::v2i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 89|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_U_H),
                   MVT::v8i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 90|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_U_W),
                   MVT::v4i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 88|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_U_D),
                   MVT::v2i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 101|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCAF_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 100|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCAF_D),
                   MVT::v2i64, 2, 0, 1,
  11,
   OPC_CheckChild0Integer, 105|128,63,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLASS_W),
                   MVT::v4i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 104|128,63,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLASS_D),
                   MVT::v2i64, 1, 0,
  14,
   OPC_CheckChild0Integer, 41|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSAF_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 40|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSAF_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 43|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSEQ_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 42|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSEQ_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 45|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLE_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 44|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLE_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 47|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLT_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 46|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLT_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 49|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSNE_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 48|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSNE_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 51|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSOR_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 50|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSOR_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 57|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUEQ_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 56|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUEQ_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 59|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULE_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 58|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULE_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 61|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULT_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 60|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULT_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 63|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUN_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 62|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUN_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 65|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUNE_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 64|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUNE_D),
                   MVT::v2i64, 2, 0, 1,
  12,
   OPC_CheckChild0Integer, 67|128,64|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_S_W),
                   MVT::v4i32, 1, 0,
  12,
   OPC_CheckChild0Integer, 66|128,64|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_S_D),
                   MVT::v2i64, 1, 0,
  12,
   OPC_CheckChild0Integer, 69|128,64|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_U_W),
                   MVT::v4i32, 1, 0,
  12,
   OPC_CheckChild0Integer, 68|128,64|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_U_D),
                   MVT::v2i64, 1, 0,
  14,
   OPC_CheckChild0Integer, 70|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTQ_H),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 71|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTQ_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 77|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_S_H),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 78|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_S_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 76|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_S_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 80|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_U_H),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 81|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_U_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 79|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_U_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 83|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_S_H),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 84|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_S_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 82|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_S_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 86|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_U_H),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 87|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_U_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 85|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_U_D),
                   MVT::v2i64, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 0|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_Q_H),
                   MVT::v8i16, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 1|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_Q_W),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 2|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDR_Q_H),
                   MVT::v8i16, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 3|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDR_Q_W),
                   MVT::v4i32, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 13|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_B),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 15|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_H),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 16|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 14|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 33|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_B),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 35|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_H),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 36|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 34|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_D),
                   MVT::v2i64, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 64|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_Q_H),
                   MVT::v8i16, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 65|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_Q_W),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 66|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBR_Q_H),
                   MVT::v8i16, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 67|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBR_Q_W),
                   MVT::v4i32, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 75|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_Q_H),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 76|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_Q_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 86|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULR_Q_H),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 87|128,65|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULR_Q_W),
                   MVT::v4i32, 2, 0, 1,
  12,
   OPC_CheckChild0Integer, 96|128,65|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_B),
                   MVT::v16i8, 1, 0,
  12,
   OPC_CheckChild0Integer, 98|128,65|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_H),
                   MVT::v8i16, 1, 0,
  12,
   OPC_CheckChild0Integer, 99|128,65|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_W),
                   MVT::v4i32, 1, 0,
  12,
   OPC_CheckChild0Integer, 97|128,65|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_D),
                   MVT::v2i64, 1, 0,
  16,
   OPC_CheckChild0Integer, 40|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_B),
                   MVT::v16i8, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 42|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_H),
                   MVT::v8i16, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 43|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_W),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 41|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_D),
                   MVT::v2i64, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 72|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_B),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 74|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_H),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 75|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 73|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 88|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_B),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 90|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_H),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 91|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 89|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 109|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_B),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 111|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_H),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 112|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 110|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 113|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_B),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 115|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_H),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 116|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 114|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 117|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_B),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 119|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_H),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 120|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 118|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_D),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 121|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_B),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 123|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_H),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 124|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_W),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 122|128,66|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 126|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXDO_H),
                   MVT::v8f16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 127|128,63,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXDO_W),
                   4|128,1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 3|128,64|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPL_W),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 2|128,64|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPL_D),
                   22|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 5|128,64|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPR_W),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 4|128,64|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPR_D),
                   22|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 11|128,64|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQL_W),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 10|128,64|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQL_D),
                   22|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 13|128,64|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQR_W),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 12|128,64|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQR_D),
                   22|128,1, 1, 0,
  15,
   OPC_CheckChild0Integer, 25|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_W),
                   4|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 24|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_D),
                   22|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 23|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_A_W),
                   4|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 22|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_A_D),
                   22|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 29|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_W),
                   4|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 28|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_D),
                   22|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 27|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_A_W),
                   4|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 26|128,64|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_A_D),
                   22|128,1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 35|128,64|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRCP_W),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 34|128,64|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRCP_D),
                   22|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 39|128,64|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRSQRT_W),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 38|128,64|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRSQRT_D),
                   22|128,1, 1, 0,
  0,
 105|128,1, TARGET_VAL(ISD::INTRINSIC_VOID),
  OPC_RecordNode,
  OPC_Scope, 37,
   OPC_CheckChild1Integer, 15|128,67|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 12,
    OPC_CheckPredicate, 44,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 112,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::WRDSP),
                    2, 1, 2,
   11,
    OPC_CheckPredicate, 45,
    OPC_MoveParent,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::WRDSP_MM),
                    2, 1, 2,
   0,
  25,
   OPC_CheckChild1Integer, 37|128,63,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_EQ_QB),
                    2, 1, 2,
   8,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_EQ_QB_MM),
                    2, 1, 2,
   0,
  25,
   OPC_CheckChild1Integer, 39|128,63,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LT_QB),
                    2, 1, 2,
   8,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LT_QB_MM),
                    2, 1, 2,
   0,
  25,
   OPC_CheckChild1Integer, 38|128,63,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LE_QB),
                    2, 1, 2,
   8,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LE_QB_MM),
                    2, 1, 2,
   0,
  25,
   OPC_CheckChild1Integer, 28|128,63,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_EQ_PH),
                    2, 1, 2,
   8,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_EQ_PH_MM),
                    2, 1, 2,
   0,
  25,
   OPC_CheckChild1Integer, 30|128,63,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LT_PH),
                    2, 1, 2,
   8,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LT_PH_MM),
                    2, 1, 2,
   0,
  25,
   OPC_CheckChild1Integer, 29|128,63,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LE_PH),
                    2, 1, 2,
   8,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LE_PH_MM),
                    2, 1, 2,
   0,
  17,
   OPC_CheckChild1Integer, 100|128,66|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::STR_D),
                   3, 1, 2, 3,
  17,
   OPC_CheckChild1Integer, 101|128,66|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::STR_W),
                   3, 1, 2, 3,
  0,
 29|128,14, TARGET_VAL(ISD::XOR),
  OPC_Scope, 54,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 127,
   OPC_SwitchType , 30, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
                     MVT::i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MM),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   9, MVT::i64,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR64),
                    MVT::i64, 2, 0, 1,
   0,
  110|128,3,
   OPC_RecordChild0,
   OPC_Scope, 84,
    OPC_CheckChild1Integer, 127,
    OPC_CheckTypeI32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MMR6),
                     MVT::i32, 1, 0,
    10,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
                     MVT::i32, 2, 0, 1,
    7,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NotRxRy16),
                     MVT::i32, 1, 0,
    7,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MM),
                     MVT::i32, 1, 0,
    20,
     OPC_CheckPatternPredicate4,
     OPC_Scope, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MM),
                      MVT::i32, 1, 0,
     9,
      OPC_EmitRegisterI32, Mips::ZERO,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MM),
                      MVT::i32, 2, 0, 1,
     0,
    21,
     OPC_CheckPatternPredicate, 8,
     OPC_Scope, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MMR6),
                      MVT::i32, 1, 0,
     9,
      OPC_EmitRegisterI32, Mips::ZERO,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
                      MVT::i32, 2, 0, 1,
     0,
    0,
   11|128,1,
    OPC_RecordChild1,
    OPC_Scope, 72,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 13,
      OPC_CheckPredicate, 33,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate2,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
                      MVT::i32, 2, 0, 2,
     51,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_SwitchType , 13, MVT::i64,
       OPC_CheckPatternPredicate, 18,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi64),
                       MVT::i64, 2, 0, 3,
      29, MVT::i32,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate7,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 3, 2,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
                        MVT::i32, 2, 0, 3,
       13,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 3, 2,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_MMR6),
                        MVT::i32, 2, 0, 3,
       0,
      0,
     0,
    51,
     OPC_CheckTypeI32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR),
                      MVT::i32, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
                      MVT::i32, 2, 0, 1,
     19,
      OPC_CheckPatternPredicate7,
      OPC_Scope, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR16_MM),
                       MVT::i32, 2, 0, 1,
      7,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_MM),
                       MVT::i32, 2, 0, 1,
      0,
     9,
      OPC_CheckPatternPredicate, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_MMR6),
                      MVT::i32, 2, 0, 1,
     0,
    10,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 18,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR64),
                     MVT::i64, 2, 0, 1,
    0,
   7|128,2,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 125,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling5,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling6,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling7,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 8,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 9,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 10,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 11,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 12,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 13,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 14,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 15,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
                     MVT::v16i8, 2, 0, 2,
    125,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling5,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling6,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling7,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 8,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 9,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 10,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 11,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 12,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 13,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 14,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 15,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
                     MVT::v16i8, 2, 0, 2,
    0,
   0,
  9|128,2,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 126,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 9,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 10,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 11,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 12,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 13,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 14,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 15,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
                    MVT::v16i8, 2, 2, 1,
   126,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 9,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 10,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 11,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 12,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 13,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 14,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 15,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
                    MVT::v16i8, 2, 2, 1,
   0,
  24|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 69,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
                    MVT::v8i16, 2, 0, 2,
   69,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
                    MVT::v8i16, 2, 0, 2,
   0,
  25|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 70,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
                    MVT::v8i16, 2, 2, 1,
   70,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
                    MVT::v8i16, 2, 2, 1,
   0,
  108,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 47,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
                    MVT::v4i32, 2, 0, 2,
   47,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
                    MVT::v4i32, 2, 0, 2,
   0,
  109,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 48,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
                    MVT::v4i32, 2, 2, 1,
   48,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
                    MVT::v4i32, 2, 2, 1,
   0,
  76,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 31,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
                    MVT::v2i64, 2, 0, 2,
   31,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
                    MVT::v2i64, 2, 0, 2,
   0,
  77,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 32,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
                    MVT::v2i64, 2, 2, 1,
   32,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
                    MVT::v2i64, 2, 2, 1,
   0,
  9|128,1,
   OPC_RecordChild0,
   OPC_Scope, 68,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 27,
     OPC_MoveParent,
     OPC_SwitchType , 10, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
                      MVT::v16i8, 2, 0, 2,
     10, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
                      MVT::v8i16, 2, 0, 2,
     0,
    15,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
                     MVT::v4i32, 2, 0, 2,
    15,
     OPC_CheckChild1Type, MVT::v2i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
                     MVT::v2i64, 2, 0, 2,
    0,
   64,
    OPC_RecordChild1,
    OPC_SwitchType , 23, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 9,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_B),
                      MVT::v16i8, 2, 0, 2,
     9,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_B),
                      MVT::v16i8, 2, 0, 2,
     0,
    10, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_H),
                     MVT::v8i16, 2, 0, 2,
    10, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_W),
                     MVT::v4i32, 2, 0, 2,
    10, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_D),
                     MVT::v2i64, 2, 0, 2,
    0,
   0,
  71,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 10, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
                     MVT::v16i8, 2, 2, 1,
    10, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
                     MVT::v8i16, 2, 2, 1,
    0,
   16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
                    MVT::v4i32, 2, 2, 1,
   16,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
                    MVT::v2i64, 2, 2, 1,
   0,
  106,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 31, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_B),
                     MVT::v16i8, 2, 1, 2,
    9,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_B),
                     MVT::v16i8, 2, 1, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V),
                     MVT::v16i8, 2, 0, 1,
    0,
   21, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_H),
                     MVT::v8i16, 2, 1, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V_H_PSEUDO),
                     MVT::v8i16, 2, 0, 1,
    0,
   21, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_W),
                     MVT::v4i32, 2, 1, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V_W_PSEUDO),
                     MVT::v4i32, 2, 0, 1,
    0,
   21, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_D),
                     MVT::v2i64, 2, 1, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V_D_PSEUDO),
                     MVT::v2i64, 2, 0, 1,
    0,
   0,
  0,
 38|128,1, TARGET_VAL(ISD::CTLZ),
  OPC_Scope, 65,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_SwitchType , 30, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 70,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLO),
                     MVT::i32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 89,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLO_R6),
                     MVT::i32, 1, 0,
    7,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLO_MM),
                     MVT::i32, 1, 0,
    0,
   22, MVT::i64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 90,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLO),
                     MVT::i64, 1, 0,
    8,
     OPC_CheckPatternPredicate, 50,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLO_R6),
                     MVT::i64, 1, 0,
    0,
   0,
  97,
   OPC_RecordChild0,
   OPC_SwitchType , 29, MVT::i32,
    OPC_CheckChild0TypeI32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 70,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLZ),
                     MVT::i32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 89,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLZ_R6),
                     MVT::i32, 1, 0,
    7,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLZ_MM),
                     MVT::i32, 1, 0,
    0,
   21, MVT::i64,
    OPC_CheckChild0TypeI64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 90,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLZ),
                     MVT::i64, 1, 0,
    8,
     OPC_CheckPatternPredicate, 50,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLZ_R6),
                     MVT::i64, 1, 0,
    0,
   7, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_B),
                    MVT::v16i8, 1, 0,
   7, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_H),
                    MVT::v8i16, 1, 0,
   9, MVT::v4i32,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_W),
                    MVT::v4i32, 1, 0,
   9, MVT::v2i64,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_D),
                    MVT::v2i64, 1, 0,
   0,
  0,
 40|128,4, TARGET_VAL(ISD::ZERO_EXTEND),
  OPC_Scope, 115|128,3,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 65, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 33,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate7,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 18,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
                     MVT::i32, 2, 0, 3,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 4, 5,
    26,
     OPC_MoveParent,
     OPC_CheckPredicate, 18,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitNode1None, TARGET_VAL(Mips::ADDu),
                     MVT::i32, 2, 0, 1,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 3, 4,
    0,
   86, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 53,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 25,
      OPC_CheckPredicate, 18,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLL),
                      MVT::i32, 2, 0, 3,
      OPC_EmitIntegerI32, Mips::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 4, 5,
     15,
      OPC_CheckPatternPredicate, 113,
      OPC_EmitConvertToTarget1,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 4, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS64_32),
                      MVT::i64, 3, 0, 2, 4,
     0,
    27,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 18,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitNode1None, TARGET_VAL(Mips::SLLV),
                     MVT::i32, 2, 0, 1,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 3, 4,
    0,
   67, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 34,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 18,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SRL),
                     MVT::i32, 2, 0, 3,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 4, 5,
    27,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 18,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitNode1None, TARGET_VAL(Mips::SRLV),
                     MVT::i32, 2, 0, 1,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 3, 4,
    0,
   67, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 34,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 18,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SRA),
                     MVT::i32, 2, 0, 3,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 4, 5,
    27,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 18,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitNode1None, TARGET_VAL(Mips::SRAV),
                     MVT::i32, 2, 0, 1,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 3, 4,
    0,
   73, TARGET_VAL(ISD::SETCC),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI64,
    OPC_RecordChild1,
    OPC_Scope, 39,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 53,
     OPC_MoveParent,
     OPC_Scope, 14,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEQi),
                      MVT::i64, 2, 0, 2,
     14,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNEi),
                      MVT::i64, 2, 0, 2,
     0,
    13,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 28,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEQ),
                     MVT::i64, 2, 0, 1,
    13,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 28,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNE),
                     MVT::i64, 2, 0, 1,
    0,
   28, TARGET_VAL(ISD::SUB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckPredicate, 18,
    OPC_CheckTypeI64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitNode1None, TARGET_VAL(Mips::SUBu),
                    MVT::i32, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 3, 4,
   31, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckPredicate, 18,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 91,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitNode2None, TARGET_VAL(Mips::MUL),
                    MVT::i32, MVT::i32, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 3, 5,
   26, TARGET_VAL(MipsISD::MFHI),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckPredicate, 18,
    OPC_CheckTypeI64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMFHI),
                    MVT::i32, 1, 0,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 1, 2, 3,
   26, TARGET_VAL(MipsISD::MFLO),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckPredicate, 18,
    OPC_CheckTypeI64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMFLO),
                    MVT::i32, 1, 0,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 1, 2, 3,
   0,
  48,
   OPC_RecordChild0,
   OPC_CheckTypeI64,
   OPC_Scope, 10,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL64_32),
                    MVT::i64, 1, 0,
   14,
    OPC_CheckPatternPredicate, 114,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXT64_32),
                    MVT::i64, 3, 0, 1, 2,
   17,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitNode1None, TARGET_VAL(Mips::DSLL64_32),
                    MVT::i64, 1, 0,
    OPC_EmitIntegerI32, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
                    MVT::i64, 2, 1, 2,
   0,
  0,
 72, TARGET_VAL(MipsISD::CIns),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_Scope, 20,
   OPC_CheckPredicate3,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 78,
   OPC_EmitConvertToTarget1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS),
                   MVT::i64, 3, 0, 3, 4,
  21,
   OPC_CheckPredicate, 43,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 78,
   OPC_EmitConvertToTarget1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS32),
                   MVT::i64, 3, 0, 3, 4,
  20,
   OPC_CheckPredicate3,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 78,
   OPC_EmitConvertToTarget1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS_i32),
                   MVT::i32, 3, 0, 3, 4,
  0,
 101|128,13, TARGET_VAL(ISD::ADD),
  OPC_Scope, 43,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 47,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_SwitchType , 10, MVT::i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::LSA),
                    MVT::i32, 3, 1, 0, 3,
   11, MVT::i64,
    OPC_CheckPatternPredicate, 59,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DLSA),
                    MVT::i64, 3, 1, 0, 3,
   0,
  43,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 47,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 10, MVT::i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::LSA),
                    MVT::i32, 3, 0, 2, 3,
   11, MVT::i64,
    OPC_CheckPatternPredicate, 59,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DLSA),
                    MVT::i64, 3, 0, 2, 3,
   0,
  78|128,4,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 75|128,2, TARGET_VAL(MipsISD::Lo),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 59, TARGET_VAL(ISD::TargetGlobalAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 29, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                       MVT::i32, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
                       MVT::i32, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 0, 1,
      0,
     22, MVT::i64,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 0, 1,
      0,
     0,
    50, TARGET_VAL(ISD::TargetBlockAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                       MVT::i32, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 0, 1,
      0,
     22, MVT::i64,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 0, 1,
      0,
     0,
    50, TARGET_VAL(ISD::TargetJumpTable),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                       MVT::i32, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 0, 1,
      0,
     22, MVT::i64,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 0, 1,
      0,
     0,
    50, TARGET_VAL(ISD::TargetConstantPool),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                       MVT::i32, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 0, 1,
      0,
     22, MVT::i64,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 0, 1,
      0,
     0,
    50, TARGET_VAL(ISD::TargetGlobalTLSAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                       MVT::i32, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 0, 1,
      0,
     22, MVT::i64,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 0, 1,
      0,
     0,
    50, TARGET_VAL(ISD::TargetExternalSymbol),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                       MVT::i32, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 0, 1,
      0,
     22, MVT::i64,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 0, 1,
      0,
     0,
    0,
   84, TARGET_VAL(MipsISD::GPRel),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 37, TARGET_VAL(ISD::TargetGlobalAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                       MVT::i32, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 0, 1,
      0,
     9, MVT::i64,
      OPC_CheckPatternPredicate, 64,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                      MVT::i64, 2, 0, 1,
     0,
    37, TARGET_VAL(ISD::TargetConstantPool),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                       MVT::i32, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 0, 1,
      0,
     9, MVT::i64,
      OPC_CheckPatternPredicate, 64,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                      MVT::i64, 2, 0, 1,
     0,
    0,
   79, TARGET_VAL(MipsISD::Higher),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 12, TARGET_VAL(ISD::TargetGlobalAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 0, 1,
    12, TARGET_VAL(ISD::TargetBlockAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 0, 1,
    12, TARGET_VAL(ISD::TargetJumpTable),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 0, 1,
    12, TARGET_VAL(ISD::TargetConstantPool),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 0, 1,
    12, TARGET_VAL(ISD::TargetExternalSymbol),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 0, 1,
    0,
   79, TARGET_VAL(MipsISD::Hi),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 12, TARGET_VAL(ISD::TargetGlobalAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 0, 1,
    12, TARGET_VAL(ISD::TargetBlockAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 0, 1,
    12, TARGET_VAL(ISD::TargetJumpTable),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 0, 1,
    12, TARGET_VAL(ISD::TargetConstantPool),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 0, 1,
    12, TARGET_VAL(ISD::TargetExternalSymbol),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 0, 1,
    0,
   0,
  95|128,4,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 81|128,2, TARGET_VAL(MipsISD::Lo),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 60, TARGET_VAL(ISD::TargetGlobalAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 29, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                       MVT::i32, 2, 1, 0,
      8,
       OPC_CheckPatternPredicate5,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
                       MVT::i32, 2, 1, 0,
      8,
       OPC_CheckPatternPredicate4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 1, 0,
      0,
     22, MVT::i64,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 1, 0,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 1, 0,
      0,
     0,
    51, TARGET_VAL(ISD::TargetBlockAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 20, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                       MVT::i32, 2, 1, 0,
      8,
       OPC_CheckPatternPredicate4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 1, 0,
      0,
     22, MVT::i64,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 1, 0,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 1, 0,
      0,
     0,
    51, TARGET_VAL(ISD::TargetJumpTable),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 20, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                       MVT::i32, 2, 1, 0,
      8,
       OPC_CheckPatternPredicate4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 1, 0,
      0,
     22, MVT::i64,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 1, 0,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 1, 0,
      0,
     0,
    51, TARGET_VAL(ISD::TargetConstantPool),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 20, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                       MVT::i32, 2, 1, 0,
      8,
       OPC_CheckPatternPredicate4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 1, 0,
      0,
     22, MVT::i64,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 1, 0,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 1, 0,
      0,
     0,
    51, TARGET_VAL(ISD::TargetGlobalTLSAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 20, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                       MVT::i32, 2, 1, 0,
      8,
       OPC_CheckPatternPredicate4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 1, 0,
      0,
     22, MVT::i64,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 1, 0,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 1, 0,
      0,
     0,
    51, TARGET_VAL(ISD::TargetExternalSymbol),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 20, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                       MVT::i32, 2, 1, 0,
      8,
       OPC_CheckPatternPredicate4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 1, 0,
      0,
     22, MVT::i64,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 1, 0,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                       MVT::i64, 2, 1, 0,
      0,
     0,
    0,
   86, TARGET_VAL(MipsISD::GPRel),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 38, TARGET_VAL(ISD::TargetGlobalAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 20, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                       MVT::i32, 2, 1, 0,
      8,
       OPC_CheckPatternPredicate4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 1, 0,
      0,
     9, MVT::i64,
      OPC_CheckPatternPredicate, 64,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                      MVT::i64, 2, 1, 0,
     0,
    38, TARGET_VAL(ISD::TargetConstantPool),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 20, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                       MVT::i32, 2, 1, 0,
      8,
       OPC_CheckPatternPredicate4,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 1, 0,
      0,
     9, MVT::i64,
      OPC_CheckPatternPredicate, 64,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                      MVT::i64, 2, 1, 0,
     0,
    0,
   84, TARGET_VAL(MipsISD::Higher),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 13, TARGET_VAL(ISD::TargetGlobalAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    13, TARGET_VAL(ISD::TargetBlockAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    13, TARGET_VAL(ISD::TargetJumpTable),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    13, TARGET_VAL(ISD::TargetConstantPool),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    13, TARGET_VAL(ISD::TargetExternalSymbol),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    0,
   84, TARGET_VAL(MipsISD::Hi),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 13, TARGET_VAL(ISD::TargetGlobalAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    13, TARGET_VAL(ISD::TargetBlockAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    13, TARGET_VAL(ISD::TargetJumpTable),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    13, TARGET_VAL(ISD::TargetConstantPool),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    13, TARGET_VAL(ISD::TargetExternalSymbol),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    0,
   0,
  96|128,2,
   OPC_RecordChild0,
   OPC_Scope, 37|128,2,
    OPC_RecordChild1,
    OPC_Scope, 116,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 13,
      OPC_CheckPredicate, 54,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate2,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                      MVT::i32, 2, 0, 2,
     13,
      OPC_CheckPredicate7,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate, 26,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                      MVT::i64, 2, 0, 2,
     13,
      OPC_CheckPredicate, 55,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate5,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImm16),
                      MVT::i32, 2, 0, 2,
     12,
      OPC_CheckPredicate7,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate5,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
                      MVT::i32, 2, 0, 2,
     13,
      OPC_CheckPredicate, 56,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDIUR2_MM),
                      MVT::i32, 2, 0, 2,
     13,
      OPC_CheckPredicate, 57,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDIUS5_MM),
                      MVT::i32, 2, 0, 2,
     26,
      OPC_CheckPredicate7,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate4,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                       MVT::i32, 2, 0, 2,
      10,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDIU_MMR6),
                       MVT::i32, 2, 0, 2,
      0,
     0,
    51,
     OPC_CheckTypeI32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU16_MMR6),
                      MVT::i32, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDu),
                      MVT::i32, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::AdduRxRyRz16),
                      MVT::i32, 2, 0, 1,
     19,
      OPC_CheckPatternPredicate7,
      OPC_Scope, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU16_MM),
                       MVT::i32, 2, 0, 1,
      7,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDu_MM),
                       MVT::i32, 2, 0, 1,
      0,
     0,
    10,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 26,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDu),
                     MVT::i64, 2, 0, 1,
    27,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 10,
      OPC_CheckComplexPat, /*CP*/8, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_B),
                      MVT::v16i8, 2, 0, 2,
     10,
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_B),
                      MVT::v16i8, 2, 1, 2,
     0,
    27,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 10,
      OPC_CheckComplexPat, /*CP*/9, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_H),
                      MVT::v8i16, 2, 0, 2,
     10,
      OPC_CheckComplexPat, /*CP*/9, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_H),
                      MVT::v8i16, 2, 1, 2,
     0,
    25,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 9,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_W),
                      MVT::v4i32, 2, 0, 2,
     9,
      OPC_CheckComplexPat5, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_W),
                      MVT::v4i32, 2, 1, 2,
     0,
    27,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 10,
      OPC_CheckComplexPat, /*CP*/10, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_D),
                      MVT::v2i64, 2, 0, 2,
     10,
      OPC_CheckComplexPat, /*CP*/10, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_D),
                      MVT::v2i64, 2, 1, 2,
     0,
    0,
   53,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_B),
                     MVT::v16i8, 3, 0, 1, 2,
    9, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_H),
                     MVT::v8i16, 3, 0, 1, 2,
    9, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_W),
                     MVT::v4i32, 3, 0, 1, 2,
    9, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_D),
                     MVT::v2i64, 3, 0, 1, 2,
    0,
   0,
  54,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_B),
                    MVT::v16i8, 3, 2, 0, 1,
   9, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_H),
                    MVT::v8i16, 3, 2, 0, 1,
   9, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_W),
                    MVT::v4i32, 3, 2, 0, 1,
   9, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_D),
                    MVT::v2i64, 3, 2, 0, 1,
   0,
  64,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v2i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_PH),
                    MVT::v2i16, 2, 0, 1,
   8, MVT::v4i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_QB),
                    MVT::v4i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_B),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_H),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_W),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  0,
 35|128,4, TARGET_VAL(ISD::SIGN_EXTEND),
  OPC_Scope, 20|128,4,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 61, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 31,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate7,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
                     MVT::i32, 2, 0, 3,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 4, 5,
    24,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitNode1None, TARGET_VAL(Mips::ADDu),
                     MVT::i32, 2, 0, 1,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 3, 4,
    0,
   63, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SLL),
                     MVT::i32, 2, 0, 3,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 4, 5,
    25,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitNode1None, TARGET_VAL(Mips::SLLV),
                     MVT::i32, 2, 0, 1,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 3, 4,
    0,
   63, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SRL),
                     MVT::i32, 2, 0, 3,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 4, 5,
    25,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitNode1None, TARGET_VAL(Mips::SRLV),
                     MVT::i32, 2, 0, 1,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 3, 4,
    0,
   63, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SRA),
                     MVT::i32, 2, 0, 3,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 4, 5,
    25,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitNode1None, TARGET_VAL(Mips::SRAV),
                     MVT::i32, 2, 0, 1,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 3, 4,
    0,
   26, TARGET_VAL(ISD::SUB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitNode1None, TARGET_VAL(Mips::SUBu),
                    MVT::i32, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 3, 4,
   57, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_Scope, 25,
     OPC_CheckPatternPredicate, 91,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitNode2None, TARGET_VAL(Mips::MUL),
                     MVT::i32, MVT::i32, 2, 0, 1,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 3, 5,
    24,
     OPC_CheckPatternPredicate, 19,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitNode1None, TARGET_VAL(Mips::MUL_R6),
                     MVT::i32, 2, 0, 1,
     OPC_EmitIntegerI32, Mips::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 3, 4,
    0,
   24, TARGET_VAL(MipsISD::MFHI),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMFHI),
                    MVT::i32, 1, 0,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 1, 2, 3,
   24, TARGET_VAL(MipsISD::MFLO),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMFLO),
                    MVT::i32, 1, 0,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 1, 2, 3,
   28, TARGET_VAL(ISD::SDIV),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitNode1None, TARGET_VAL(Mips::DIV),
                    MVT::i32, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 3, 4,
   28, TARGET_VAL(ISD::UDIV),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitNode1None, TARGET_VAL(Mips::DIVU),
                    MVT::i32, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 3, 4,
   28, TARGET_VAL(ISD::SREM),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitNode1None, TARGET_VAL(Mips::MOD),
                    MVT::i32, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 3, 4,
   28, TARGET_VAL(ISD::UREM),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitNode1None, TARGET_VAL(Mips::MODU),
                    MVT::i32, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 3, 4,
   0,
  10,
   OPC_RecordChild0,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 9,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL64_32),
                   MVT::i64, 1, 0,
  0,
 20, TARGET_VAL(ISD::CALLSEQ_START),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_MoveSibling2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_RecordNode,
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(Mips::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
                  2, 1, 2,
 21, TARGET_VAL(ISD::CALLSEQ_END),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_MoveSibling2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_RecordNode,
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(Mips::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                  2, 1, 2,
 54, TARGET_VAL(ISD::FrameIndex),
  OPC_RecordNode,
  OPC_SwitchType , 36, MVT::i32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::LEA_ADDiu),
                    MVT::i32, 2, 1, 2,
   11,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat, /*CP*/21, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRyOffMemX16),
                    MVT::i32, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::LEA_ADDiu_MM),
                    MVT::i32, 2, 1, 2,
   0,
  11, MVT::i64,
   OPC_CheckPatternPredicate, 115,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LEA_ADDiu64),
                   MVT::i64, 2, 1, 2,
  0,
 27, TARGET_VAL(MipsISD::Ins),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveSibling2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_RecordNode,
  OPC_MoveParent,
  OPC_RecordChild3,
  OPC_CheckTypeI32,
  OPC_CheckPatternPredicate, 8,
  OPC_EmitConvertToTarget1,
  OPC_EmitConvertToTarget2,
  OPC_MorphNodeTo1None, TARGET_VAL(Mips::INS_MMR6),
                  MVT::i32, 4, 0, 4, 5, 3,
 38|128,20, TARGET_VAL(ISD::SETCC),
  OPC_RecordChild0,
  OPC_Scope, 35|128,6,
   OPC_CheckChild0TypeI32,
   OPC_Scope, 70,
    OPC_CheckChild1Integer, 0,
    OPC_CheckTypeI32,
    OPC_Scope, 37,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu),
                      MVT::i32, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu_MM),
                      MVT::i32, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate5,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiuCCRxImmX16),
                      MVT::i32, 2, 0, 1,
     0,
    26,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, Mips::ZERO,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
                      MVT::i32, 2, 1, 0,
     10,
      OPC_CheckPatternPredicate4,
      OPC_EmitRegisterI32, Mips::ZERO,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
                      MVT::i32, 2, 1, 0,
     0,
    0,
   34,
    OPC_CheckChild1Integer, 127|128,127|128,125,
    OPC_CheckChild2CondCode, ISD::SETGT,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 0|128,0|128,126,
    OPC_EmitNode1None, TARGET_VAL(Mips::SltiCCRxImmX16),
                    MVT::i32, 2, 0, 1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
                    MVT::i32, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
                    MVT::i32, 2, 2, 4,
   52|128,5,
    OPC_RecordChild1,
    OPC_Scope, 37|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate7,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 34,
      OPC_CheckChild2CondCode, ISD::SETLT,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi),
                       MVT::i32, 2, 0, 2,
      9,
       OPC_CheckPatternPredicate4,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi_MM),
                       MVT::i32, 2, 0, 2,
      9,
       OPC_CheckPatternPredicate5,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiCCRxImmX16),
                       MVT::i32, 2, 0, 2,
      0,
     34,
      OPC_CheckChild2CondCode, ISD::SETULT,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu),
                       MVT::i32, 2, 0, 2,
      9,
       OPC_CheckPatternPredicate4,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu_MM),
                       MVT::i32, 2, 0, 2,
      9,
       OPC_CheckPatternPredicate5,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiuCCRxImmX16),
                       MVT::i32, 2, 0, 2,
      0,
     42,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_Scope, 18,
       OPC_CheckPatternPredicate2,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
                       MVT::i32, 2, 0, 2,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
                       MVT::i32, 2, 3, 4,
      18,
       OPC_CheckPatternPredicate4,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
                       MVT::i32, 2, 0, 2,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
                       MVT::i32, 2, 3, 4,
      0,
     42,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_Scope, 18,
       OPC_CheckPatternPredicate2,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
                       MVT::i32, 2, 0, 2,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
                       MVT::i32, 2, 3, 4,
      18,
       OPC_CheckPatternPredicate4,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
                       MVT::i32, 2, 0, 2,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
                       MVT::i32, 2, 3, 4,
      0,
     0,
    32,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_CheckTypeI32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT),
                      MVT::i32, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT_MM),
                      MVT::i32, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltCCRxRy16),
                      MVT::i32, 2, 0, 1,
     0,
    32,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_CheckTypeI32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
                      MVT::i32, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
                      MVT::i32, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltuCCRxRy16),
                      MVT::i32, 2, 0, 1,
     0,
    32,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckTypeI32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT),
                      MVT::i32, 2, 1, 0,
     8,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT_MM),
                      MVT::i32, 2, 1, 0,
     8,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltCCRxRy16),
                      MVT::i32, 2, 1, 0,
     0,
    32,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_CheckTypeI32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
                      MVT::i32, 2, 1, 0,
     8,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
                      MVT::i32, 2, 1, 0,
     8,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltuCCRxRy16),
                      MVT::i32, 2, 1, 0,
     0,
    59,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_CheckTypeI32,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
                      MVT::i32, 2, 0, 1,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu),
                      MVT::i32, 2, 2, 3,
     17,
      OPC_CheckPatternPredicate4,
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
                      MVT::i32, 2, 0, 1,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu_MM),
                      MVT::i32, 2, 2, 3,
     17,
      OPC_CheckPatternPredicate5,
      OPC_EmitNode1None, TARGET_VAL(Mips::XorRxRxRy16),
                      MVT::i32, 2, 0, 1,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiuCCRxImmX16),
                      MVT::i32, 2, 2, 3,
     0,
    65,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_CheckTypeI32,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, Mips::ZERO,
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
                      MVT::i32, 2, 2, 3,
     17,
      OPC_CheckPatternPredicate4,
      OPC_EmitRegisterI32, Mips::ZERO,
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
                      MVT::i32, 2, 2, 3,
     23,
      OPC_CheckPatternPredicate5,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
                      MVT::i32, 1, 2,
      OPC_EmitNode1None, TARGET_VAL(Mips::XorRxRxRy16),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltuCCRxRy16),
                      MVT::i32, 2, 3, 4,
     0,
    65,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_CheckTypeI32,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
                      MVT::i32, 2, 1, 0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
                      MVT::i32, 2, 2, 3,
     17,
      OPC_CheckPatternPredicate4,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
                      MVT::i32, 2, 1, 0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
                      MVT::i32, 2, 2, 3,
     23,
      OPC_CheckPatternPredicate5,
      OPC_EmitNode1None, TARGET_VAL(Mips::SltCCRxRy16),
                      MVT::i32, 2, 1, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImm16),
                      MVT::i32, 1, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
                      MVT::i32, 2, 2, 4,
     0,
    65,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_CheckTypeI32,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
                      MVT::i32, 2, 1, 0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
                      MVT::i32, 2, 2, 3,
     17,
      OPC_CheckPatternPredicate4,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
                      MVT::i32, 2, 1, 0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
                      MVT::i32, 2, 2, 3,
     23,
      OPC_CheckPatternPredicate5,
      OPC_EmitNode1None, TARGET_VAL(Mips::SltuCCRxRy16),
                      MVT::i32, 2, 1, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
                      MVT::i32, 1, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
                      MVT::i32, 2, 2, 4,
     0,
    65,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckTypeI32,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
                      MVT::i32, 2, 0, 1,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
                      MVT::i32, 2, 2, 3,
     17,
      OPC_CheckPatternPredicate4,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
                      MVT::i32, 2, 0, 1,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
                      MVT::i32, 2, 2, 3,
     23,
      OPC_CheckPatternPredicate5,
      OPC_EmitNode1None, TARGET_VAL(Mips::SltCCRxRy16),
                      MVT::i32, 2, 0, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
                      MVT::i32, 1, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
                      MVT::i32, 2, 2, 4,
     0,
    65,
     OPC_CheckChild2CondCode, ISD::SETUGE,
     OPC_CheckTypeI32,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
                      MVT::i32, 2, 0, 1,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
                      MVT::i32, 2, 2, 3,
     17,
      OPC_CheckPatternPredicate4,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
                      MVT::i32, 2, 0, 1,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
                      MVT::i32, 2, 2, 3,
     23,
      OPC_CheckPatternPredicate5,
      OPC_EmitNode1None, TARGET_VAL(Mips::SltuCCRxRy16),
                      MVT::i32, 2, 0, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
                      MVT::i32, 1, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
                      MVT::i32, 2, 2, 4,
     0,
    0,
   0,
  54|128,2,
   OPC_CheckChild0TypeI64,
   OPC_Scope, 35,
    OPC_CheckChild1Integer, 0,
    OPC_CheckTypeI32,
    OPC_Scope, 13,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu64),
                     MVT::i32, 2, 0, 1,
    15,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
                     MVT::i32, 2, 1, 0,
    0,
   13|128,2,
    OPC_RecordChild1,
    OPC_Scope, 79,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate7,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 12,
      OPC_CheckChild2CondCode, ISD::SETLT,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi64),
                      MVT::i32, 2, 0, 2,
     12,
      OPC_CheckChild2CondCode, ISD::SETULT,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu64),
                      MVT::i32, 2, 0, 2,
     21,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_CheckPatternPredicate, 34,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
                      MVT::i32, 2, 0, 2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
                      MVT::i32, 2, 3, 4,
     21,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_CheckPatternPredicate, 34,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
                      MVT::i32, 2, 0, 2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
                      MVT::i32, 2, 3, 4,
     0,
    12,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 18,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT64),
                     MVT::i32, 2, 0, 1,
    12,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 18,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
                     MVT::i32, 2, 0, 1,
    12,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 34,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT64),
                     MVT::i32, 2, 1, 0,
    12,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 34,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
                     MVT::i32, 2, 1, 0,
    21,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
                     MVT::i64, 2, 0, 1,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu64),
                     MVT::i32, 2, 2, 3,
    23,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
                     MVT::i64, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
                     MVT::i32, 2, 2, 3,
    21,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
                     MVT::i32, 2, 1, 0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
                     MVT::i32, 2, 2, 3,
    21,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
                     MVT::i32, 2, 1, 0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
                     MVT::i32, 2, 2, 3,
    21,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
                     MVT::i32, 2, 0, 1,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
                     MVT::i32, 2, 2, 3,
    21,
     OPC_CheckChild2CondCode, ISD::SETUGE,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
                     MVT::i32, 2, 0, 1,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
                     MVT::i32, 2, 2, 3,
    0,
   0,
  50|128,2,
   OPC_CheckChild0Type, MVT::f32,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_Scope, 24,
    OPC_CheckChild2CondCode, ISD::SETUO,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_S),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_S_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETOEQ,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETUEQ,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_S),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_S_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETOLT,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_S),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_S_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETOLE,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_S),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_S_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETGT,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S),
                     MVT::i32, 2, 1, 0,
    9,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S_MMR6),
                     MVT::i32, 2, 1, 0,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETGE,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S),
                     MVT::i32, 2, 1, 0,
    9,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S_MMR6),
                     MVT::i32, 2, 1, 0,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   0,
  50|128,2,
   OPC_CheckChild0Type, MVT::f64,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_Scope, 24,
    OPC_CheckChild2CondCode, ISD::SETUO,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_D),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_D_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETOEQ,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETUEQ,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_D),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_D_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETOLT,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_D),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_D_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETOLE,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_D),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_D_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETGT,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D),
                     MVT::i32, 2, 1, 0,
    9,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D_MMR6),
                     MVT::i32, 2, 1, 0,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETGE,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D),
                     MVT::i32, 2, 1, 0,
    9,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D_MMR6),
                     MVT::i32, 2, 1, 0,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D_MMR6),
                     MVT::i32, 2, 0, 1,
    0,
   0,
  4|128,1,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v16i8,
   OPC_Scope, 24,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_B),
                     MVT::v16i8, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_B),
                     MVT::v16i8, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_B),
                     MVT::v16i8, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_B),
                     MVT::v16i8, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_B),
                     MVT::v16i8, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   0,
  4|128,1,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v8i16,
   OPC_Scope, 24,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/14, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_H),
                     MVT::v8i16, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_H),
                     MVT::v8i16, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/14, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_H),
                     MVT::v8i16, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_H),
                     MVT::v8i16, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_H),
                     MVT::v8i16, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_H),
                     MVT::v8i16, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/14, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_H),
                     MVT::v8i16, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_H),
                     MVT::v8i16, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_H),
                     MVT::v8i16, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_H),
                     MVT::v8i16, 2, 0, 1,
    0,
   0,
  2|128,1,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_Scope, 24,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/15, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_W),
                     MVT::v4i32, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_W),
                     MVT::v4i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/15, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_W),
                     MVT::v4i32, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_W),
                     MVT::v4i32, 2, 0, 1,
    0,
   23,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_W),
                     MVT::v4i32, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_W),
                     MVT::v4i32, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/15, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_W),
                     MVT::v4i32, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_W),
                     MVT::v4i32, 2, 0, 1,
    0,
   23,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_W),
                     MVT::v4i32, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_W),
                     MVT::v4i32, 2, 0, 1,
    0,
   0,
  4|128,1,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v2i64,
   OPC_Scope, 24,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/16, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_D),
                     MVT::v2i64, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_D),
                     MVT::v2i64, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/16, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_D),
                     MVT::v2i64, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_D),
                     MVT::v2i64, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_D),
                     MVT::v2i64, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_D),
                     MVT::v2i64, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/16, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_D),
                     MVT::v2i64, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_D),
                     MVT::v2i64, 2, 0, 1,
    0,
   24,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_D),
                     MVT::v2i64, 2, 0, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_D),
                     MVT::v2i64, 2, 0, 1,
    0,
   0,
  34|128,1,
   OPC_CheckChild0Type, 4|128,1,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_Scope, 10,
    OPC_CheckChild2CondCode, ISD::SETOEQ,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_W),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETOLE,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_W),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETOLT,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_W),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETONE,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_W),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETO,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCOR_W),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUEQ,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUEQ_W),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULE_W),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULT_W),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUO,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUN_W),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUNE,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUNE_W),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_W),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_W),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_W),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_W),
                    MVT::v4i32, 2, 0, 1,
   0,
  34|128,1,
   OPC_CheckChild0Type, 22|128,1,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v2i64,
   OPC_Scope, 10,
    OPC_CheckChild2CondCode, ISD::SETOEQ,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETOLE,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETOLT,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETONE,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETO,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCOR_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUEQ,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUEQ_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULE_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULT_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUO,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUN_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUNE,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUNE_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  0,
 74, TARGET_VAL(MipsISD::FPBrcond),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_Scope, 34,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 79,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1F), 0|OPFL_Chain|OPFL_GlueInput,
                    2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1F_MM), 0|OPFL_Chain|OPFL_GlueInput,
                    2, 1, 2,
   0,
  34,
   OPC_CheckChild1Integer, 1,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 79,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1T), 0|OPFL_Chain|OPFL_GlueInput,
                    2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1T_MM), 0|OPFL_Chain|OPFL_GlueInput,
                    2, 1, 2,
   0,
  0,
 127|128,1, TARGET_VAL(ISD::SUB),
  OPC_Scope, 11,
   OPC_CheckChild0Integer, 0,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::NegRxRy16),
                   MVT::i32, 1, 0,
  111|128,1,
   OPC_RecordChild0,
   OPC_Scope, 117,
    OPC_RecordChild1,
    OPC_SwitchType , 50, MVT::i32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU16_MMR6),
                      MVT::i32, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBu),
                      MVT::i32, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SubuRxRyRz16),
                      MVT::i32, 2, 0, 1,
     19,
      OPC_CheckPatternPredicate7,
      OPC_Scope, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU16_MM),
                       MVT::i32, 2, 0, 1,
      7,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBu_MM),
                       MVT::i32, 2, 0, 1,
      0,
     0,
    9, MVT::i64,
     OPC_CheckPatternPredicate, 26,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSUBu),
                     MVT::i64, 2, 0, 1,
    11, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_B),
                     MVT::v16i8, 2, 0, 2,
    11, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_H),
                     MVT::v8i16, 2, 0, 2,
    10, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_W),
                     MVT::v4i32, 2, 0, 2,
    11, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_D),
                     MVT::v2i64, 2, 0, 2,
    0,
   53,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_B),
                     MVT::v16i8, 3, 0, 1, 2,
    9, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_H),
                     MVT::v8i16, 3, 0, 1, 2,
    9, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_W),
                     MVT::v4i32, 3, 0, 1, 2,
    9, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_D),
                     MVT::v2i64, 3, 0, 1, 2,
    0,
   63,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::v2i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_PH),
                     MVT::v2i16, 2, 0, 1,
    8, MVT::v4i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_QB),
                     MVT::v4i8, 2, 0, 1,
    8, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_B),
                     MVT::v16i8, 2, 0, 1,
    8, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_H),
                     MVT::v8i16, 2, 0, 1,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_W),
                     MVT::v4i32, 2, 0, 1,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_D),
                     MVT::v2i64, 2, 0, 1,
    0,
   0,
  0,
 18|128,13, TARGET_VAL(ISD::OR),
  OPC_Scope, 26|128,3,
   OPC_RecordChild0,
   OPC_Scope, 12|128,1,
    OPC_RecordChild1,
    OPC_Scope, 73,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 17,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 3, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORI_MMR6),
                      MVT::i32, 2, 0, 3,
     13,
      OPC_CheckPredicate, 33,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate2,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi),
                      MVT::i32, 2, 0, 2,
     34,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_SwitchType , 13, MVT::i64,
       OPC_CheckPatternPredicate, 18,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
                       MVT::i64, 2, 0, 3,
      12, MVT::i32,
       OPC_CheckPatternPredicate7,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 3, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi_MM),
                       MVT::i32, 2, 0, 3,
      0,
     0,
    51,
     OPC_CheckTypeI32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
                      MVT::i32, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OrRxRxRy16),
                      MVT::i32, 2, 0, 1,
     19,
      OPC_CheckPatternPredicate7,
      OPC_Scope, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR16_MM),
                       MVT::i32, 2, 0, 1,
      7,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
                       MVT::i32, 2, 0, 1,
      0,
     9,
      OPC_CheckPatternPredicate, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MMR6),
                      MVT::i32, 2, 0, 1,
     0,
    10,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 18,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
                     MVT::i64, 2, 0, 1,
    0,
   7|128,2,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 125,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling5,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling6,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling7,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 8,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 9,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 10,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 11,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 12,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 13,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 14,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 15,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
                     MVT::v16i8, 2, 0, 2,
    125,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling5,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling6,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling7,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 8,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 9,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 10,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 11,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 12,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 13,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 14,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveSibling, 15,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
                     MVT::v16i8, 2, 0, 2,
    0,
   0,
  9|128,2,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 126,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 9,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 10,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 11,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 12,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 13,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 14,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 15,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
                    MVT::v16i8, 2, 2, 1,
   126,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 9,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 10,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 11,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 12,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 13,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 14,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveSibling, 15,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
                    MVT::v16i8, 2, 2, 1,
   0,
  24|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 69,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
                    MVT::v8i16, 2, 0, 2,
   69,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
                    MVT::v8i16, 2, 0, 2,
   0,
  25|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 70,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
                    MVT::v8i16, 2, 2, 1,
   70,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
                    MVT::v8i16, 2, 2, 1,
   0,
  108,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 47,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
                    MVT::v4i32, 2, 0, 2,
   47,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
                    MVT::v4i32, 2, 0, 2,
   0,
  109,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 48,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
                    MVT::v4i32, 2, 2, 1,
   48,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
                    MVT::v4i32, 2, 2, 1,
   0,
  76,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 31,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
                    MVT::v2i64, 2, 0, 2,
   31,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
                    MVT::v2i64, 2, 0, 2,
   0,
  77,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 32,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
                    MVT::v2i64, 2, 2, 1,
   32,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
                    MVT::v2i64, 2, 2, 1,
   0,
  9|128,1,
   OPC_RecordChild0,
   OPC_Scope, 68,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 27,
     OPC_MoveParent,
     OPC_SwitchType , 10, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
                      MVT::v16i8, 2, 0, 2,
     10, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
                      MVT::v8i16, 2, 0, 2,
     0,
    15,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
                     MVT::v4i32, 2, 0, 2,
    15,
     OPC_CheckChild1Type, MVT::v2i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
                     MVT::v2i64, 2, 0, 2,
    0,
   64,
    OPC_RecordChild1,
    OPC_SwitchType , 23, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 9,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_B),
                      MVT::v16i8, 2, 0, 2,
     9,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORI_B),
                      MVT::v16i8, 2, 0, 2,
     0,
    10, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_H),
                     MVT::v8i16, 2, 0, 2,
    10, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_W),
                     MVT::v4i32, 2, 0, 2,
    10, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_D),
                     MVT::v2i64, 2, 0, 2,
    0,
   0,
  71,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 10, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
                     MVT::v16i8, 2, 2, 1,
    10, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
                     MVT::v8i16, 2, 2, 1,
    0,
   16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
                    MVT::v4i32, 2, 2, 1,
   16,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
                    MVT::v2i64, 2, 2, 1,
   0,
  106,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 31, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_B),
                     MVT::v16i8, 2, 1, 2,
    9,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORI_B),
                     MVT::v16i8, 2, 1, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V),
                     MVT::v16i8, 2, 0, 1,
    0,
   21, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_H),
                     MVT::v8i16, 2, 1, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V_H_PSEUDO),
                     MVT::v8i16, 2, 0, 1,
    0,
   21, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_W),
                     MVT::v4i32, 2, 1, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V_W_PSEUDO),
                     MVT::v4i32, 2, 0, 1,
    0,
   21, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_D),
                     MVT::v2i64, 2, 1, 2,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V_D_PSEUDO),
                     MVT::v2i64, 2, 0, 1,
    0,
   0,
  0,
 119, TARGET_VAL(ISD::ROTR),
  OPC_RecordChild0,
  OPC_Scope, 50,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_Scope, 13,
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 58,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR),
                    MVT::i32, 2, 0, 2,
   14,
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DROTR),
                    MVT::i64, 2, 0, 2,
   12,
    OPC_CheckPredicate3,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR_MM),
                    MVT::i32, 2, 0, 2,
   0,
  25,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, Mips::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DROTRV),
                   MVT::i64, 2, 0, 3,
  38,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_SwitchType , 21, MVT::i32,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 58,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTRV),
                     MVT::i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTRV_MM),
                     MVT::i32, 2, 0, 1,
    0,
   9, MVT::i64,
    OPC_CheckPatternPredicate, 63,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DROTRV),
                    MVT::i64, 2, 0, 1,
   0,
  0,
 66, TARGET_VAL(MipsISD::Sync),
  OPC_RecordNode,
  OPC_Scope, 16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 116,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC),
                   1, 2,
  16,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 117,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC),
                   1, 1,
  28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC_MM),
                    1, 2,
   9,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC_MMR6),
                    1, 2,
   0,
  0,
 71, TARGET_VAL(ISD::ADDC),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 32,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate7,
   OPC_MoveParent,
   OPC_SwitchType , 10, MVT::i32,
    OPC_CheckPatternPredicate, 92,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::ADDiu),
                    MVT::i32, 2, 0, 2,
   10, MVT::i64,
    OPC_CheckPatternPredicate, 93,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DADDiu),
                    MVT::i64, 2, 0, 2,
   0,
  22,
   OPC_CheckTypeI32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 92,
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::ADDu),
                    MVT::i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::ADDSC),
                    MVT::i32, 2, 0, 1,
   0,
  10,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 93,
   OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DADDu),
                   MVT::i64, 2, 0, 1,
  0,
 65, TARGET_VAL(ISD::TRUNCATE),
  OPC_Scope, 39,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 16, TARGET_VAL(ISD::AssertZext),
    OPC_RecordChild0,
    OPC_CheckPredicate, 58,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 1,
   14, TARGET_VAL(ISD::AssertSext),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 1,
   0,
  22,
   OPC_RecordChild0,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, Mips::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 1,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
                   MVT::i32, 2, 2, 3,
  0,
 60, TARGET_VAL(MipsISD::SHILO),
  OPC_RecordChild0,
  OPC_Scope, 32,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 59,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILO),
                    119|128,1, 2, 2, 1,
   10,
    OPC_CheckPatternPredicate6,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILO_MM),
                    119|128,1, 2, 2, 1,
   0,
  23,
   OPC_RecordChild1,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILOV),
                    119|128,1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILOV_MM),
                    119|128,1, 2, 0, 1,
   0,
  0,
 33, TARGET_VAL(MipsISD::EXTP),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 17,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTP),
                   MVT::i32, 2, 2, 3,
  10,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTPV),
                   MVT::i32, 2, 2, 1,
  0,
 33, TARGET_VAL(MipsISD::EXTPDP),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 17,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTPDP),
                   MVT::i32, 2, 2, 3,
  10,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTPDPV),
                   MVT::i32, 2, 2, 1,
  0,
 33, TARGET_VAL(MipsISD::EXTR_W),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 17,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_W),
                   MVT::i32, 2, 2, 3,
  10,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_W),
                   MVT::i32, 2, 2, 1,
  0,
 33, TARGET_VAL(MipsISD::EXTR_R_W),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 17,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_R_W),
                   MVT::i32, 2, 2, 3,
  10,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_R_W),
                   MVT::i32, 2, 2, 1,
  0,
 33, TARGET_VAL(MipsISD::EXTR_RS_W),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 17,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_RS_W),
                   MVT::i32, 2, 2, 3,
  10,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_RS_W),
                   MVT::i32, 2, 2, 1,
  0,
 33, TARGET_VAL(MipsISD::EXTR_S_H),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 17,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_S_H),
                   MVT::i32, 2, 2, 3,
  10,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_S_H),
                   MVT::i32, 2, 2, 1,
  0,
 104|128,3, TARGET_VAL(MipsISD::VEXTRACT_SEXT_ELT),
  OPC_RecordChild0,
  OPC_Scope, 0|128,1,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_Scope, 20,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_B),
                    MVT::i32, 2, 0, 2,
   41,
    OPC_CheckChild1TypeI32,
    OPC_MoveChild2,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
                    MVT::v16i8, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 3,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
    OPC_EmitIntegerI32, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
                    MVT::i32, 2, 6, 7,
   59,
    OPC_CheckChild1TypeI64,
    OPC_MoveChild2,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
                    MVT::v16i8, 2, 0, 5,
    OPC_EmitIntegerI32, Mips::sub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 8, 9,
    OPC_EmitIntegerI32, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
                    MVT::i32, 2, 10, 11,
   0,
  0|128,1,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_Scope, 20,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 17,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_H),
                    MVT::i32, 2, 0, 2,
   41,
    OPC_CheckChild1TypeI32,
    OPC_MoveChild2,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
                    MVT::v8i16, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 3,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
    OPC_EmitIntegerI32, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
                    MVT::i32, 2, 6, 7,
   59,
    OPC_CheckChild1TypeI64,
    OPC_MoveChild2,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
                    MVT::v8i16, 2, 0, 5,
    OPC_EmitIntegerI32, Mips::sub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 8, 9,
    OPC_EmitIntegerI32, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
                    MVT::i32, 2, 10, 11,
   0,
  110,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_Scope, 20,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 21,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
                    MVT::i32, 2, 0, 2,
   32,
    OPC_CheckChild1TypeI32,
    OPC_MoveChild2,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
                    MVT::v4i32, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 3,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
   50,
    OPC_CheckChild1TypeI64,
    OPC_MoveChild2,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
                    MVT::v4i32, 2, 0, 5,
    OPC_EmitIntegerI32, Mips::sub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 8, 9,
   0,
  113,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_Scope, 21,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 25,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 59,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_D),
                    MVT::i64, 2, 0, 2,
   33,
    OPC_CheckChild1TypeI32,
    OPC_MoveChild2,
    OPC_CheckValueType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 71,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
                    MVT::v2i64, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 2, 3,
    OPC_EmitIntegerI32, Mips::GPR64RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i64, 2, 4, 5,
   51,
    OPC_CheckChild1TypeI64,
    OPC_MoveChild2,
    OPC_CheckValueType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 71,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
                    MVT::v2i64, 2, 0, 5,
    OPC_EmitIntegerI32, Mips::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 6, 7,
    OPC_EmitIntegerI32, Mips::GPR64RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i64, 2, 8, 9,
   0,
  0,
 39|128,4, TARGET_VAL(MipsISD::VEXTRACT_ZEXT_ELT),
  OPC_RecordChild0,
  OPC_Scope, 0|128,1,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_Scope, 20,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_U_B),
                    MVT::i32, 2, 0, 2,
   41,
    OPC_CheckChild1TypeI32,
    OPC_MoveChild2,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
                    MVT::v16i8, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 3,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
    OPC_EmitIntegerI32, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
                    MVT::i32, 2, 6, 7,
   59,
    OPC_CheckChild1TypeI64,
    OPC_MoveChild2,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
                    MVT::v16i8, 2, 0, 5,
    OPC_EmitIntegerI32, Mips::sub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 8, 9,
    OPC_EmitIntegerI32, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
                    MVT::i32, 2, 10, 11,
   0,
  0|128,1,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_Scope, 20,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 17,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_U_H),
                    MVT::i32, 2, 0, 2,
   41,
    OPC_CheckChild1TypeI32,
    OPC_MoveChild2,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
                    MVT::v8i16, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 3,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
    OPC_EmitIntegerI32, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
                    MVT::i32, 2, 6, 7,
   59,
    OPC_CheckChild1TypeI64,
    OPC_MoveChild2,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
                    MVT::v8i16, 2, 0, 5,
    OPC_EmitIntegerI32, Mips::sub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 8, 9,
    OPC_EmitIntegerI32, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
                    MVT::i32, 2, 10, 11,
   0,
  124,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_Scope, 34,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 21,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate, 59,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_U_W),
                     MVT::i32, 2, 0, 2,
    9,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
                     MVT::i32, 2, 0, 2,
    0,
   32,
    OPC_CheckChild1TypeI32,
    OPC_MoveChild2,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
                    MVT::v4i32, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 3,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
   50,
    OPC_CheckChild1TypeI64,
    OPC_MoveChild2,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
                    MVT::v4i32, 2, 0, 5,
    OPC_EmitIntegerI32, Mips::sub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 8, 9,
   0,
  24,
   OPC_CheckChild0Type, 4|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 21,
   OPC_MoveSibling2,
   OPC_CheckValueType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate3,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
                   MVT::i32, 2, 0, 2,
  112,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_Scope, 20,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 25,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_D),
                    MVT::i64, 2, 0, 2,
   33,
    OPC_CheckChild1TypeI32,
    OPC_MoveChild2,
    OPC_CheckValueType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 71,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
                    MVT::v2i64, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 2, 3,
    OPC_EmitIntegerI32, Mips::GPR64RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i64, 2, 4, 5,
   51,
    OPC_CheckChild1TypeI64,
    OPC_MoveChild2,
    OPC_CheckValueType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 71,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
                    MVT::v2i64, 2, 0, 5,
    OPC_EmitIntegerI32, Mips::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 6, 7,
    OPC_EmitIntegerI32, Mips::GPR64RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i64, 2, 8, 9,
   0,
  24,
   OPC_CheckChild0Type, 22|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 25,
   OPC_MoveSibling2,
   OPC_CheckValueType, MVT::i64,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate3,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_D),
                   MVT::i64, 2, 0, 2,
  0,
 67|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
  OPC_RecordChild0,
  OPC_Scope, 19,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 14,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate3,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
                   MVT::i32, 2, 0, 2,
  85,
   OPC_CheckChild0Type, 4|128,1,
   OPC_RecordChild1,
   OPC_Scope, 18,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 21,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_FW_PSEUDO),
                    MVT::f32, 2, 0, 2,
   20,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
                    MVT::v4i32, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 2, 3,
   38,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
                    MVT::v4i32, 2, 0, 5,
    OPC_EmitIntegerI32, Mips::sub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 6, 7,
   0,
  85,
   OPC_CheckChild0Type, 22|128,1,
   OPC_RecordChild1,
   OPC_Scope, 18,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_FD_PSEUDO),
                    MVT::f64, 2, 0, 2,
   20,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
                    MVT::v2i64, 2, 0, 1,
    OPC_EmitIntegerI32, Mips::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 2, 3,
   38,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, Mips::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
                    MVT::v2i64, 2, 0, 5,
    OPC_EmitIntegerI32, Mips::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
   0,
  0,
 90|128,1, TARGET_VAL(MipsISD::JmpLink),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 7|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 69, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_Scope, 22,
     OPC_MoveParent,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                      1, 1,
     9,
      OPC_CheckPatternPredicate, 70,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::JALX), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                      1, 1,
     0,
    10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::Jal16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    32,
     OPC_MoveParent,
     OPC_Scope, 18,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_Scope, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                       1, 1,
      6,
       OPC_MorphNodeTo0, TARGET_VAL(Mips::JALX_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                       1, 1,
      0,
     9,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                      1, 1,
     0,
    0,
   57, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_SwitchType , 41, MVT::i32,
     OPC_MoveParent,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 72,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                      1, 1,
     8,
      OPC_CheckPatternPredicate5,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::Jal16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                      1, 1,
     8,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                      1, 1,
     9,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                      1, 1,
     0,
    10, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    0,
   0,
  51,
   OPC_CheckChild1TypeI32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 118,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRPseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    1, 1,
   9,
    OPC_CheckPatternPredicate, 119,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRHBPseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    1, 1,
   8,
    OPC_CheckPatternPredicate5,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::JumpLinkReg16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    1, 1,
   8,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::JALR16_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    1, 1,
   9,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRC16_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    1, 1,
   0,
  23,
   OPC_CheckChild1TypeI64,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 120,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::JALR64Pseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    1, 1,
   9,
    OPC_CheckPatternPredicate, 121,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRHB64Pseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    1, 1,
   0,
  0,
 56|128,1, TARGET_VAL(MipsISD::TailCall),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 71,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 31, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_MoveParent,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                     1, 1,
    8,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                     1, 1,
    9,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                     1, 1,
    0,
   31, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_MoveParent,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                     1, 1,
    8,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                     1, 1,
    9,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                     1, 1,
    0,
   0,
  62,
   OPC_CheckChild1TypeI32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 94,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                    1, 1,
   9,
    OPC_CheckPatternPredicate, 122,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREGHB), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                    1, 1,
   9,
    OPC_CheckPatternPredicate, 95,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLR6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                    1, 1,
   9,
    OPC_CheckPatternPredicate, 96,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLHBR6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                    1, 1,
   8,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                    1, 1,
   9,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                    1, 1,
   0,
  43,
   OPC_CheckChild1TypeI64,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 123,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                    1, 1,
   9,
    OPC_CheckPatternPredicate, 97,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREGHB64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                    1, 1,
   9,
    OPC_CheckPatternPredicate, 98,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL64R6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                    1, 1,
   9,
    OPC_CheckPatternPredicate, 99,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLHB64R6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                    1, 1,
   0,
  0,
 64|128,2, TARGET_VAL(MipsISD::Hi),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_SwitchOpcode , 67, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_SwitchType , 35, MVT::i32,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
                     MVT::i32, 1, 0,
    7,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
                     MVT::i32, 1, 0,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
                     MVT::i32, 2, 1, 2,
    0,
   25, MVT::i64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 25,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
                     MVT::i64, 1, 0,
    13,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    0,
   0,
  67, TARGET_VAL(ISD::TargetBlockAddress),
   OPC_MoveParent,
   OPC_SwitchType , 35, MVT::i32,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
                     MVT::i32, 1, 0,
    7,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
                     MVT::i32, 1, 0,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
                     MVT::i32, 2, 1, 2,
    0,
   25, MVT::i64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 25,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
                     MVT::i64, 1, 0,
    13,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    0,
   0,
  67, TARGET_VAL(ISD::TargetJumpTable),
   OPC_MoveParent,
   OPC_SwitchType , 35, MVT::i32,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
                     MVT::i32, 1, 0,
    7,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
                     MVT::i32, 1, 0,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
                     MVT::i32, 2, 1, 2,
    0,
   25, MVT::i64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 25,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
                     MVT::i64, 1, 0,
    13,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    0,
   0,
  50, TARGET_VAL(ISD::TargetConstantPool),
   OPC_MoveParent,
   OPC_SwitchType , 18, MVT::i32,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
                     MVT::i32, 1, 0,
    7,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
                     MVT::i32, 1, 0,
    0,
   25, MVT::i64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 25,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
                     MVT::i64, 1, 0,
    13,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    0,
   0,
  50, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_MoveParent,
   OPC_SwitchType , 18, MVT::i32,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
                     MVT::i32, 1, 0,
    7,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
                     MVT::i32, 1, 0,
    0,
   25, MVT::i64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 25,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
                     MVT::i64, 1, 0,
    13,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    0,
   0,
  0,
 12|128,3, TARGET_VAL(MipsISD::Lo),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_SwitchOpcode , 61, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_SwitchType , 24, MVT::i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                     MVT::i32, 2, 1, 0,
    10,
     OPC_CheckPatternPredicate4,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                     MVT::i32, 2, 1, 0,
    0,
   30, MVT::i64,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 25,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    13,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    0,
   0,
  69, TARGET_VAL(ISD::TargetBlockAddress),
   OPC_MoveParent,
   OPC_SwitchType , 32, MVT::i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                     MVT::i32, 2, 1, 0,
    7,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LiRxImmX16),
                     MVT::i32, 1, 0,
    10,
     OPC_CheckPatternPredicate4,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                     MVT::i32, 2, 1, 0,
    0,
   30, MVT::i64,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 25,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    13,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    0,
   0,
  61, TARGET_VAL(ISD::TargetJumpTable),
   OPC_MoveParent,
   OPC_SwitchType , 24, MVT::i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                     MVT::i32, 2, 1, 0,
    10,
     OPC_CheckPatternPredicate4,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                     MVT::i32, 2, 1, 0,
    0,
   30, MVT::i64,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 25,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    13,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    0,
   0,
  61, TARGET_VAL(ISD::TargetConstantPool),
   OPC_MoveParent,
   OPC_SwitchType , 24, MVT::i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                     MVT::i32, 2, 1, 0,
    10,
     OPC_CheckPatternPredicate4,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                     MVT::i32, 2, 1, 0,
    0,
   30, MVT::i64,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 25,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    13,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    0,
   0,
  61, TARGET_VAL(ISD::TargetGlobalTLSAddress),
   OPC_MoveParent,
   OPC_SwitchType , 24, MVT::i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                     MVT::i32, 2, 1, 0,
    10,
     OPC_CheckPatternPredicate4,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                     MVT::i32, 2, 1, 0,
    0,
   30, MVT::i64,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 25,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    13,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    0,
   0,
  61, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_MoveParent,
   OPC_SwitchType , 24, MVT::i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                     MVT::i32, 2, 1, 0,
    10,
     OPC_CheckPatternPredicate4,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                     MVT::i32, 2, 1, 0,
    0,
   30, MVT::i64,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 25,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    13,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                     MVT::i64, 2, 1, 0,
    0,
   0,
  0,
 76, TARGET_VAL(MipsISD::GotHi),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_SwitchOpcode , 33, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_SwitchType , 18, MVT::i32,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
                     MVT::i32, 1, 0,
    7,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
                     MVT::i32, 1, 0,
    0,
   8, MVT::i64,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
                    MVT::i64, 1, 0,
   0,
  33, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_MoveParent,
   OPC_SwitchType , 18, MVT::i32,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
                     MVT::i32, 1, 0,
    7,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
                     MVT::i32, 1, 0,
    0,
   8, MVT::i64,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
                    MVT::i64, 1, 0,
   0,
  0,
 55, TARGET_VAL(MipsISD::TlsHi),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
  OPC_MoveParent,
  OPC_SwitchType , 35, MVT::i32,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
                    MVT::i32, 1, 0,
   7,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
                    MVT::i32, 1, 0,
   16,
    OPC_CheckPatternPredicate5,
    OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
                    MVT::i32, 1, 0,
    OPC_EmitIntegerI32, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
                    MVT::i32, 2, 1, 2,
   0,
  8, MVT::i64,
   OPC_CheckPatternPredicate, 9,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
                   MVT::i64, 1, 0,
  0,
 1|128,2, TARGET_VAL(MipsISD::Wrapper),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_SwitchOpcode , 45, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_SwitchType , 29, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                     MVT::i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
                     MVT::i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                     MVT::i32, 2, 0, 1,
    0,
   9, MVT::i64,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                    MVT::i64, 2, 0, 1,
   0,
  36, TARGET_VAL(ISD::TargetConstantPool),
   OPC_MoveParent,
   OPC_SwitchType , 20, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                     MVT::i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                     MVT::i32, 2, 0, 1,
    0,
   9, MVT::i64,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                    MVT::i64, 2, 0, 1,
   0,
  36, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_MoveParent,
   OPC_SwitchType , 20, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                     MVT::i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                     MVT::i32, 2, 0, 1,
    0,
   9, MVT::i64,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                    MVT::i64, 2, 0, 1,
   0,
  36, TARGET_VAL(ISD::TargetBlockAddress),
   OPC_MoveParent,
   OPC_SwitchType , 20, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                     MVT::i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                     MVT::i32, 2, 0, 1,
    0,
   9, MVT::i64,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                    MVT::i64, 2, 0, 1,
   0,
  36, TARGET_VAL(ISD::TargetJumpTable),
   OPC_MoveParent,
   OPC_SwitchType , 20, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                     MVT::i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                     MVT::i32, 2, 0, 1,
    0,
   9, MVT::i64,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                    MVT::i64, 2, 0, 1,
   0,
  45, TARGET_VAL(ISD::TargetGlobalTLSAddress),
   OPC_MoveParent,
   OPC_SwitchType , 29, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                     MVT::i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
                     MVT::i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                     MVT::i32, 2, 0, 1,
    0,
   9, MVT::i64,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                    MVT::i64, 2, 0, 1,
   0,
  0,
 120, TARGET_VAL(MipsISD::FPCmp),
  OPC_RecordChild0,
  OPC_Scope, 35,
   OPC_CheckChild0Type, MVT::f32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 79,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_S32),
                    MVT::i32, 3, 0, 1, 3,
   11,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_S32_MM),
                    MVT::i32, 3, 0, 1, 3,
   0,
  47,
   OPC_CheckChild0Type, MVT::f64,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 124,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_D32),
                    MVT::i32, 3, 0, 1, 3,
   11,
    OPC_CheckPatternPredicate, 125,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_D64),
                    MVT::i32, 3, 0, 1, 3,
   11,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_D32_MM),
                    MVT::i32, 3, 0, 1, 3,
   0,
  32,
   OPC_CheckChild0Type, MVT::f16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 126,
   OPC_EmitNode1None, TARGET_VAL(Mips::MSA_FP_EXTEND_W_PSEUDO),
                   MVT::f32, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Mips::MSA_FP_EXTEND_W_PSEUDO),
                   MVT::f32, 1, 1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_S32),
                   MVT::i32, 3, 3, 4, 5,
  0,
 31, TARGET_VAL(MipsISD::ExtractElementF64),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_Scope, 10,
   OPC_CheckPatternPredicate, 100,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ExtractElementF64),
                   MVT::i32, 2, 0, 2,
  10,
   OPC_CheckPatternPredicate, 101,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ExtractElementF64_64),
                   MVT::i32, 2, 0, 2,
  0,
 69, TARGET_VAL(MipsISD::Highest),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_SwitchOpcode , 10, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
                   MVT::i64, 1, 0,
  10, TARGET_VAL(ISD::TargetBlockAddress),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
                   MVT::i64, 1, 0,
  10, TARGET_VAL(ISD::TargetJumpTable),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
                   MVT::i64, 1, 0,
  10, TARGET_VAL(ISD::TargetConstantPool),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
                   MVT::i64, 1, 0,
  10, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
                   MVT::i64, 1, 0,
  0,
 94, TARGET_VAL(MipsISD::Higher),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_SwitchOpcode , 15, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                   MVT::i64, 2, 1, 0,
  15, TARGET_VAL(ISD::TargetBlockAddress),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                   MVT::i64, 2, 1, 0,
  15, TARGET_VAL(ISD::TargetJumpTable),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                   MVT::i64, 2, 1, 0,
  15, TARGET_VAL(ISD::TargetConstantPool),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                   MVT::i64, 2, 1, 0,
  15, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                   MVT::i64, 2, 1, 0,
  0,
 20, TARGET_VAL(MipsISD::GPRel),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
  OPC_MoveParent,
  OPC_CheckTypeI64,
  OPC_CheckPatternPredicate, 64,
  OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
  OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                  MVT::i64, 2, 1, 0,
 116|128,2, TARGET_VAL(ISD::Constant),
  OPC_RecordNode,
  OPC_Scope, 14,
   OPC_CheckPredicate, 36,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate2,
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 5, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
                   MVT::i32, 1, 2,
  14,
   OPC_CheckPredicate, 37,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate2,
   OPC_EmitRegisterI32, Mips::ZERO,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi),
                   MVT::i32, 2, 1, 2,
  13,
   OPC_CheckPredicate7,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate2,
   OPC_EmitRegisterI32, Mips::ZERO,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
                   MVT::i32, 2, 1, 2,
  15,
   OPC_CheckPredicate, 36,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 5, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
                   MVT::i64, 1, 2,
  17,
   OPC_CheckPredicate, 37,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
                   MVT::i64, 2, 1, 2,
  16,
   OPC_CheckPredicate7,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
                   MVT::i64, 2, 1, 2,
  14,
   OPC_CheckPredicate, 11,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate5,
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 3, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LiRxImmX16),
                   MVT::i32, 1, 2,
  11,
   OPC_CheckPredicate, 60,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate4,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LI16_MM),
                   MVT::i32, 1, 1,
  14,
   OPC_CheckPredicate, 36,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate4,
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 5, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
                   MVT::i32, 1, 2,
  14,
   OPC_CheckPredicate, 37,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate4,
   OPC_EmitRegisterI32, Mips::ZERO,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi_MM),
                   MVT::i32, 2, 1, 2,
  13,
   OPC_CheckPredicate7,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate4,
   OPC_EmitRegisterI32, Mips::ZERO,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
                   MVT::i32, 2, 1, 2,
  18,
   OPC_CheckPredicate, 11,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitRegisterI32, Mips::ZERO,
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 3, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_MMR6),
                   MVT::i32, 2, 1, 3,
  53,
   OPC_CheckPredicate, 48,
   OPC_SwitchType , 22, MVT::i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget0,
    OPC_EmitNodeXForm, 5, 1,
    OPC_EmitNode1None, TARGET_VAL(Mips::LUi),
                    MVT::i32, 1, 2,
    OPC_EmitConvertToTarget0,
    OPC_EmitNodeXForm, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi),
                    MVT::i32, 2, 3, 5,
   23, MVT::i64,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitConvertToTarget0,
    OPC_EmitNodeXForm, 5, 1,
    OPC_EmitNode1None, TARGET_VAL(Mips::LUi64),
                    MVT::i64, 1, 2,
    OPC_EmitConvertToTarget0,
    OPC_EmitNodeXForm, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
                    MVT::i64, 2, 3, 5,
   0,
  29,
   OPC_CheckPredicate, 61,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 5, 2,
   OPC_EmitNode1None, TARGET_VAL(Mips::ORi64),
                   MVT::i64, 2, 1, 3,
   OPC_EmitIntegerI32, 16,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
                   MVT::i64, 2, 4, 5,
  19,
   OPC_CheckPredicate7,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate5,
   OPC_EmitRegisterI32, Mips::ZERO,
   OPC_EmitNode1None, TARGET_VAL(Mips::MoveR3216),
                   MVT::i32, 1, 1,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
                   MVT::i32, 2, 2, 3,
  25,
   OPC_CheckPredicate, 48,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate4,
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 5, 1,
   OPC_EmitNode1None, TARGET_VAL(Mips::LUi_MM),
                   MVT::i32, 1, 2,
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 3, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi_MM),
                   MVT::i32, 2, 3, 5,
  40,
   OPC_CheckPredicate, 62,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 5, 2,
   OPC_EmitNode1None, TARGET_VAL(Mips::ORi64),
                   MVT::i64, 2, 1, 3,
   OPC_EmitIntegerI32, 16,
   OPC_EmitNode1None, TARGET_VAL(Mips::DSLL),
                   MVT::i64, 2, 4, 5,
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 3, 7,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
                   MVT::i64, 2, 6, 8,
  12,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate5,
   OPC_EmitConvertToTarget0,
   OPC_EmitIntegerI32, 127,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LwConstant32),
                   MVT::i32, 2, 1, 2,
  0,
 109, TARGET_VAL(ISD::BRIND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 64,
   OPC_CheckChild1TypeI32,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::JrcRx16),
                    1, 1,
   8,
    OPC_CheckPatternPredicate, 94,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch),
                    1, 1,
   8,
    OPC_CheckPatternPredicate, 127,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectHazardBranch),
                    1, 1,
   8,
    OPC_CheckPatternPredicate, 95,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranchR6),
                    1, 1,
   8,
    OPC_CheckPatternPredicate, 96,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndrectHazardBranchR6),
                    1, 1,
   7,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch_MM),
                    1, 1,
   8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch_MMR6),
                    1, 1,
   0,
  39,
   OPC_CheckChild1TypeI64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 128,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch64),
                    1, 1,
   8,
    OPC_CheckPatternPredicate, 97,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectHazardBranch64),
                    1, 1,
   8,
    OPC_CheckPatternPredicate, 98,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch64R6),
                    1, 1,
   8,
    OPC_CheckPatternPredicate, 99,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndrectHazardBranch64R6),
                    1, 1,
   0,
  0,
 65, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 42, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   12,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   0,
  13, MVT::i64,
   OPC_CheckPredicate, 16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 1, 2,
  0,
 65, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 42, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   12,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   0,
  13, MVT::i64,
   OPC_CheckPredicate, 16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 1, 2,
  0,
 65, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 42, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   12,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   0,
  13, MVT::i64,
   OPC_CheckPredicate, 16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 1, 2,
  0,
 65, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 42, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   12,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   0,
  13, MVT::i64,
   OPC_CheckPredicate, 16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 1, 2,
  0,
 65, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 42, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   12,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   0,
  13, MVT::i64,
   OPC_CheckPredicate, 16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 1, 2,
  0,
 65, TARGET_VAL(ISD::ATOMIC_LOAD_NAND),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 42, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   12,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   0,
  13, MVT::i64,
   OPC_CheckPredicate, 16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 1, 2,
  0,
 65, TARGET_VAL(ISD::ATOMIC_SWAP),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 42, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   12,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   0,
  13, MVT::i64,
   OPC_CheckPredicate, 16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 1, 2,
  0,
 70, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_SwitchType , 45, MVT::i32,
   OPC_Scope, 13,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 1, 2, 3,
   13,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 1, 2, 3,
   14,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 1, 2, 3,
   0,
  14, MVT::i64,
   OPC_CheckPredicate, 16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 3, 1, 2, 3,
  0,
 65, TARGET_VAL(ISD::ATOMIC_LOAD_MIN),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 42, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   12,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   0,
  13, MVT::i64,
   OPC_CheckPredicate, 16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 1, 2,
  0,
 65, TARGET_VAL(ISD::ATOMIC_LOAD_MAX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 42, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   12,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   0,
  13, MVT::i64,
   OPC_CheckPredicate, 16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 1, 2,
  0,
 65, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 42, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   12,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   0,
  13, MVT::i64,
   OPC_CheckPredicate, 16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 1, 2,
  0,
 65, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 42, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   12,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   0,
  13, MVT::i64,
   OPC_CheckPredicate, 16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 1, 2,
  0,
 21, TARGET_VAL(MipsISD::Ret),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_Scope, 8,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(Mips::RetRA), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
                   0,
  7,
   OPC_CheckPatternPredicate5,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(Mips::RetRA16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
                   0,
  0,
 10, TARGET_VAL(MipsISD::ERet),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_CheckPatternPredicate, 11,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(Mips::ERet), 0|OPFL_Chain|OPFL_GlueInput,
                  0,
 24|128,1, TARGET_VAL(ISD::MUL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 70, MVT::i32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 70,
    OPC_MorphNodeTo2None, TARGET_VAL(Mips::MUL),
                    MVT::i32, MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_R6),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo2None, TARGET_VAL(Mips::MultRxRyRz16),
                    MVT::i32, MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo2None, TARGET_VAL(Mips::MUL_MM),
                    MVT::i32, MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_MMR6),
                    MVT::i32, 2, 0, 1,
   16,
    OPC_CheckPatternPredicate, 129,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMULT),
                    119|128,1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO),
                    MVT::i32, 1, 2,
   0,
  23, MVT::i64,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo2None, TARGET_VAL(Mips::DMUL),
                    MVT::i64, MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMUL_R6),
                    MVT::i64, 2, 0, 1,
   0,
  9, MVT::v2i16,
   OPC_CheckPatternPredicate, 13,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_PH),
                   MVT::v2i16, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_D),
                   MVT::v2i64, 2, 0, 1,
  0,
 24, TARGET_VAL(ISD::TRAP),
  OPC_RecordNode,
  OPC_Scope, 6,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::TRAP),
                   0,
  6,
   OPC_CheckPatternPredicate5,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::Break16),
                   0,
  6,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::TRAP_MM),
                   0,
  0,
 61, TARGET_VAL(ISD::BR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
  OPC_MoveParent,
  OPC_Scope, 8,
   OPC_CheckPatternPredicate, 130,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::J),
                   1, 1,
  7,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::B),
                   1, 1,
  7,
   OPC_CheckPatternPredicate5,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::Bimm16),
                   1, 1,
  8,
   OPC_CheckPatternPredicate, 131,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::J_MM),
                   1, 1,
  8,
   OPC_CheckPatternPredicate, 132,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::B_MM),
                   1, 1,
  8,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BC_MMR6),
                   1, 1,
  0,
 29, TARGET_VAL(MipsISD::EH_RETURN),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 11,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(Mips::MIPSeh_return32), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                   2, 1, 2,
  11,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(Mips::MIPSeh_return64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                   2, 1, 2,
  0,
 106, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
  OPC_RecordChild0,
  OPC_MoveChild1,
  OPC_Scope, 44,
   OPC_CheckValueType, MVT::i8,
   OPC_MoveParent,
   OPC_SwitchType , 27, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 58,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEB),
                     MVT::i32, 1, 0,
    7,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SebRx16),
                     MVT::i32, 1, 0,
    7,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEB_MM),
                     MVT::i32, 1, 0,
    0,
   8, MVT::i64,
    OPC_CheckPatternPredicate, 102,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEB64),
                    MVT::i64, 1, 0,
   0,
  44,
   OPC_CheckValueType, MVT::i16,
   OPC_MoveParent,
   OPC_SwitchType , 27, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 58,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEH),
                     MVT::i32, 1, 0,
    7,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SehRx16),
                     MVT::i32, 1, 0,
    7,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEH_MM),
                     MVT::i32, 1, 0,
    0,
   8, MVT::i64,
    OPC_CheckPatternPredicate, 102,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEH64),
                    MVT::i64, 1, 0,
   0,
  11,
   OPC_CheckValueType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 9,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL64_64),
                   MVT::i64, 1, 0,
  0,
 63, TARGET_VAL(MipsISD::Mult),
  OPC_RecordChild0,
  OPC_Scope, 46,
   OPC_CheckChild0TypeI32,
   OPC_RecordChild1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 65,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULT),
                    119|128,1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULT_DSP),
                    119|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULT_MM),
                    119|128,1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULT_DSP_MM),
                    119|128,1, 2, 0, 1,
   0,
  12,
   OPC_CheckChild0TypeI64,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 44,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDMULT),
                   119|128,1, 2, 0, 1,
  0,
 63, TARGET_VAL(MipsISD::Multu),
  OPC_RecordChild0,
  OPC_Scope, 46,
   OPC_CheckChild0TypeI32,
   OPC_RecordChild1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 65,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULTu),
                    119|128,1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULTU_DSP),
                    119|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULTu_MM),
                    119|128,1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULTU_DSP_MM),
                    119|128,1, 2, 0, 1,
   0,
  12,
   OPC_CheckChild0TypeI64,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 44,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDMULTu),
                   119|128,1, 2, 0, 1,
  0,
 51, TARGET_VAL(MipsISD::MFHI),
  OPC_RecordChild0,
  OPC_SwitchType , 36, MVT::i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 65,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFHI),
                    MVT::i32, 1, 0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFHI_DSP),
                    MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFHI_MM),
                    MVT::i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFHI_DSP_MM),
                    MVT::i32, 1, 0,
   0,
  8, MVT::i64,
   OPC_CheckPatternPredicate, 44,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFHI64),
                   MVT::i64, 1, 0,
  0,
 51, TARGET_VAL(MipsISD::MFLO),
  OPC_RecordChild0,
  OPC_SwitchType , 36, MVT::i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 65,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO),
                    MVT::i32, 1, 0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFLO_DSP),
                    MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO_MM),
                    MVT::i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFLO_DSP_MM),
                    MVT::i32, 1, 0,
   0,
  8, MVT::i64,
   OPC_CheckPatternPredicate, 44,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO64),
                   MVT::i64, 1, 0,
  0,
 54, TARGET_VAL(MipsISD::MTLOHI),
  OPC_RecordChild0,
  OPC_Scope, 37,
   OPC_CheckChild0TypeI32,
   OPC_RecordChild1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 65,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI),
                    119|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 133,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI_DSP),
                    119|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI_MM),
                    119|128,1, 2, 0, 1,
   0,
  12,
   OPC_CheckChild0TypeI64,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 44,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI64),
                   119|128,1, 2, 0, 1,
  0,
 51, TARGET_VAL(MipsISD::MAdd),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate, 73,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADD),
                   119|128,1, 3, 0, 1, 2,
  10,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_DSP),
                   119|128,1, 3, 0, 1, 2,
  11,
   OPC_CheckPatternPredicate, 51,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADD_MM),
                   119|128,1, 3, 0, 1, 2,
  10,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_DSP_MM),
                   119|128,1, 3, 0, 1, 2,
  0,
 51, TARGET_VAL(MipsISD::MAddu),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate, 73,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADDU),
                   119|128,1, 3, 0, 1, 2,
  10,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDU_DSP),
                   119|128,1, 3, 0, 1, 2,
  11,
   OPC_CheckPatternPredicate, 51,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADDU_MM),
                   119|128,1, 3, 0, 1, 2,
  10,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDU_DSP_MM),
                   119|128,1, 3, 0, 1, 2,
  0,
 51, TARGET_VAL(MipsISD::MSub),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate, 73,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUB),
                   119|128,1, 3, 0, 1, 2,
  10,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_DSP),
                   119|128,1, 3, 0, 1, 2,
  11,
   OPC_CheckPatternPredicate, 51,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUB_MM),
                   119|128,1, 3, 0, 1, 2,
  10,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_DSP_MM),
                   119|128,1, 3, 0, 1, 2,
  0,
 51, TARGET_VAL(MipsISD::MSubu),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate, 73,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUBU),
                   119|128,1, 3, 0, 1, 2,
  10,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBU_DSP),
                   119|128,1, 3, 0, 1, 2,
  11,
   OPC_CheckPatternPredicate, 51,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUBU_MM),
                   119|128,1, 3, 0, 1, 2,
  10,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBU_DSP_MM),
                   119|128,1, 3, 0, 1, 2,
  0,
 47, TARGET_VAL(ISD::SUBC),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 30, MVT::i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::SUBu),
                    MVT::i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::SUBu_MM),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::SUBU_MMR6),
                    MVT::i32, 2, 0, 1,
   0,
  9, MVT::i64,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DSUBu),
                   MVT::i64, 2, 0, 1,
  0,
 96|128,16, TARGET_VAL(ISD::BITCAST),
  OPC_RecordChild0,
  OPC_Scope, 59,
   OPC_CheckChild0Type, MVT::f32,
   OPC_SwitchType , 29, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 35,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFC1),
                     MVT::i32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 46,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFC1_MM),
                     MVT::i32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFC1_MMR6),
                     MVT::i32, 1, 0,
    0,
   10, MVT::v2i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i16, 2, 0, 1,
   10, MVT::v4i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i8, 2, 0, 1,
   0,
  11,
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 103,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMFC1),
                   MVT::i64, 1, 0,
  28,
   OPC_CheckChild0Type, MVT::v2i16,
   OPC_SwitchType , 10, MVT::i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 1,
   10, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, Mips::FGR32RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 0, 1,
   0,
  28,
   OPC_CheckChild0Type, MVT::v4i8,
   OPC_SwitchType , 10, MVT::i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, Mips::GPR32RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 1,
   10, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, Mips::FGR32RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 0, 1,
   0,
  58,
   OPC_CheckChild0TypeI32,
   OPC_SwitchType , 29, MVT::f32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 35,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1),
                     MVT::f32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 46,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MM),
                     MVT::f32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MMR6),
                     MVT::f32, 1, 0,
    0,
   10, MVT::v2i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i16, 2, 0, 1,
   10, MVT::v4i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i8, 2, 0, 1,
   0,
  11,
   OPC_CheckChild0TypeI64,
   OPC_CheckType, MVT::f64,
   OPC_CheckPatternPredicate, 103,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMTC1),
                   MVT::f64, 1, 0,
  15|128,2,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_SwitchType , 11, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 67|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 0, 1,
   48, MVT::v16i8,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
    32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 4, 5,
    0,
   48, MVT::v4i32,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
    32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
                     MVT::v8i16, 2, 2, 3,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 4, 5,
    0,
   47, MVT::v2i64,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
    31,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
     OPC_EmitIntegerI32, 27,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
                     MVT::v8i16, 2, 2, 3,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 4, 5,
    0,
   50, 4|128,1,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 0, 1,
    33,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
                     MVT::v8i16, 2, 2, 3,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 4, 5,
    0,
   49, 22|128,1,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     22|128,1, 2, 0, 1,
    32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
     OPC_EmitIntegerI32, 27,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
                     MVT::v8i16, 2, 2, 3,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     22|128,1, 2, 4, 5,
    0,
   0,
  126|128,1,
   OPC_CheckChild0Type, 4|128,1,
   OPC_SwitchType , 11, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 68|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 1,
   47, MVT::v16i8,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
    31,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
     OPC_EmitIntegerI32, 27,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 4, 5,
    0,
   48, MVT::v8i16,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
    32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
                     MVT::v8i16, 2, 2, 3,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 4, 5,
    0,
   48, MVT::v2i64,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
    32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
                     MVT::v4i32, 2, 2, 3,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 4, 5,
    0,
   50, 22|128,1,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     22|128,1, 2, 0, 1,
    33,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
                     MVT::v4i32, 2, 2, 3,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     22|128,1, 2, 4, 5,
    0,
   32, MVT::v8f16,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 67|128,0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 0, 1,
    OPC_EmitIntegerI32, 49|128,1,
    OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
                    MVT::v8i16, 2, 2, 3,
    OPC_EmitIntegerI32, 67|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8f16, 2, 4, 5,
   0,
  16|128,2,
   OPC_CheckChild0Type, 22|128,1,
   OPC_SwitchType , 11, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 66|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 0, 1,
   67, MVT::v16i8,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
    51,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
     OPC_EmitIntegerI32, 27,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 4, 5,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
                     MVT::v4i32, 2, 6, 7,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 8, 9,
    0,
   47, MVT::v8i16,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
    31,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
     OPC_EmitIntegerI32, 27,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
                     MVT::v8i16, 2, 2, 3,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 4, 5,
    0,
   48, MVT::v4i32,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
    32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
                     MVT::v4i32, 2, 2, 3,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 4, 5,
    0,
   50, 4|128,1,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 0, 1,
    33,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
                     MVT::v4i32, 2, 2, 3,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 4, 5,
    0,
   31, MVT::v8f16,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 67|128,0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 0, 1,
    OPC_EmitIntegerI32, 27,
    OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
                    MVT::v8i16, 2, 2, 3,
    OPC_EmitIntegerI32, 67|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8f16, 2, 4, 5,
   0,
  15|128,2,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_SwitchType , 48, MVT::v16i8,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
    32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 4, 5,
    0,
   48, MVT::v4i32,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
    32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
                     MVT::v8i16, 2, 2, 3,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 4, 5,
    0,
   47, MVT::v2i64,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
    31,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
     OPC_EmitIntegerI32, 27,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
                     MVT::v8i16, 2, 2, 3,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 4, 5,
    0,
   11, MVT::v8f16,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 67|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8f16, 2, 0, 1,
   50, 4|128,1,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 0, 1,
    33,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
                     MVT::v8i16, 2, 2, 3,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 4, 5,
    0,
   49, 22|128,1,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     22|128,1, 2, 0, 1,
    32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
     OPC_EmitIntegerI32, 27,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
                     MVT::v8i16, 2, 2, 3,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     22|128,1, 2, 4, 5,
    0,
   0,
  127|128,1,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_SwitchType , 47, MVT::v16i8,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
    31,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
     OPC_EmitIntegerI32, 27,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 4, 5,
    0,
   48, MVT::v8i16,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
    32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
                     MVT::v8i16, 2, 2, 3,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 4, 5,
    0,
   48, MVT::v2i64,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
    32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
                     MVT::v4i32, 2, 2, 3,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 4, 5,
    0,
   12, 4|128,1,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 68|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    4|128,1, 2, 0, 1,
   50, 22|128,1,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     22|128,1, 2, 0, 1,
    33,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
                     MVT::v4i32, 2, 2, 3,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     22|128,1, 2, 4, 5,
    0,
   32, MVT::v8f16,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 67|128,0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 0, 1,
    OPC_EmitIntegerI32, 49|128,1,
    OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
                    MVT::v8i16, 2, 2, 3,
    OPC_EmitIntegerI32, 67|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8f16, 2, 4, 5,
   0,
  17|128,2,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_SwitchType , 67, MVT::v16i8,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
    51,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
     OPC_EmitIntegerI32, 27,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 4, 5,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
                     MVT::v4i32, 2, 6, 7,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 8, 9,
    0,
   47, MVT::v8i16,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
    31,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
     OPC_EmitIntegerI32, 27,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
                     MVT::v8i16, 2, 2, 3,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 4, 5,
    0,
   48, MVT::v4i32,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
    32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
                     MVT::v4i32, 2, 2, 3,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 4, 5,
    0,
   12, 22|128,1,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 66|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    22|128,1, 2, 0, 1,
   50, 4|128,1,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 0, 1,
    33,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
                     MVT::v4i32, 2, 2, 3,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 4, 5,
    0,
   31, MVT::v8f16,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 67|128,0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 0, 1,
    OPC_EmitIntegerI32, 27,
    OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
                    MVT::v8i16, 2, 2, 3,
    OPC_EmitIntegerI32, 67|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8f16, 2, 4, 5,
   0,
  74|128,2,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_SwitchType , 48, MVT::v8i16,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
    32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 67|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 4, 5,
    0,
   47, MVT::v4i32,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
    31,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
     OPC_EmitIntegerI32, 27,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 4, 5,
    0,
   67, MVT::v2i64,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
    51,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
     OPC_EmitIntegerI32, 27,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 4, 5,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
                     MVT::v4i32, 2, 6, 7,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 8, 9,
    0,
   49, 4|128,1,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 0, 1,
    32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
     OPC_EmitIntegerI32, 27,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 4, 5,
    0,
   69, 22|128,1,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     22|128,1, 2, 0, 1,
    52,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 65|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
     OPC_EmitIntegerI32, 27,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 68|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 4, 5,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
                     MVT::v4i32, 2, 6, 7,
     OPC_EmitIntegerI32, 66|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     22|128,1, 2, 8, 9,
    0,
   32, MVT::v8f16,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 65|128,0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 0, 1,
    OPC_EmitIntegerI32, 49|128,1,
    OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
                    MVT::v16i8, 2, 2, 3,
    OPC_EmitIntegerI32, 67|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8f16, 2, 4, 5,
   0,
  0,
 65, TARGET_VAL(ISD::CTPOP),
  OPC_RecordChild0,
  OPC_SwitchType , 9, MVT::i32,
   OPC_CheckChild0TypeI32,
   OPC_CheckPatternPredicate, 28,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::POP),
                   MVT::i32, 1, 0,
  9, MVT::i64,
   OPC_CheckChild0TypeI64,
   OPC_CheckPatternPredicate, 28,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPOP),
                   MVT::i64, 1, 0,
  7, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_B),
                   MVT::v16i8, 1, 0,
  7, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_H),
                   MVT::v8i16, 1, 0,
  9, MVT::v4i32,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_W),
                   MVT::v4i32, 1, 0,
  9, MVT::v2i64,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_D),
                   MVT::v2i64, 1, 0,
  0,
 37|128,1, TARGET_VAL(MipsISD::CMovFP_T),
  OPC_CaptureGlueInput,
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 35, MVT::i32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 74,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_I),
                    MVT::i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 45,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_I_MM),
                    MVT::i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 49,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_I),
                    MVT::i32, 3, 1, 0, 2,
   0,
  24, MVT::i64,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 104,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_I64),
                    MVT::i64, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 49,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_I64),
                    MVT::i64, 3, 1, 0, 2,
   0,
  35, MVT::f32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 74,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_S),
                    MVT::f32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 45,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_S_MM),
                    MVT::f32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 49,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_S),
                    MVT::f32, 3, 1, 0, 2,
   0,
  57, MVT::f64,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 105,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_D32),
                    MVT::f64, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 106,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_D64),
                    MVT::f64, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 107,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_D32_MM),
                    MVT::f64, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 76,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_D32),
                    MVT::f64, 3, 1, 0, 2,
   10,
    OPC_CheckPatternPredicate, 77,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_D64),
                    MVT::f64, 3, 1, 0, 2,
   0,
  0,
 37|128,1, TARGET_VAL(MipsISD::CMovFP_F),
  OPC_CaptureGlueInput,
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 35, MVT::i32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 74,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_I),
                    MVT::i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 45,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_I_MM),
                    MVT::i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 49,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_I),
                    MVT::i32, 3, 1, 0, 2,
   0,
  24, MVT::i64,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 104,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_I64),
                    MVT::i64, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 49,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_I64),
                    MVT::i64, 3, 1, 0, 2,
   0,
  35, MVT::f32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 74,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_S),
                    MVT::f32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 45,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_S_MM),
                    MVT::f32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 49,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_S),
                    MVT::f32, 3, 1, 0, 2,
   0,
  57, MVT::f64,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 105,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_D32),
                    MVT::f64, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 106,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_D64),
                    MVT::f64, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 107,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_D32_MM),
                    MVT::f64, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 76,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_D32),
                    MVT::f64, 3, 1, 0, 2,
   10,
    OPC_CheckPatternPredicate, 77,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_D64),
                    MVT::f64, 3, 1, 0, 2,
   0,
  0,
 39, TARGET_VAL(ISD::MULHS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 22, MVT::i32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUH),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUH_MMR6),
                    MVT::i32, 2, 0, 1,
   0,
  9, MVT::i64,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMUH),
                   MVT::i64, 2, 0, 1,
  0,
 39, TARGET_VAL(ISD::MULHU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 22, MVT::i32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUHU),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUHU_MMR6),
                    MVT::i32, 2, 0, 1,
   0,
  9, MVT::i64,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMUHU),
                   MVT::i64, 2, 0, 1,
  0,
 11, TARGET_VAL(MipsISD::DivRem16),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate5,
  OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DivRxRy16),
                  MVT::i32, 2, 0, 1,
 11, TARGET_VAL(MipsISD::DivRemU16),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate5,
  OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DivuRxRy16),
                  MVT::i32, 2, 0, 1,
 30, TARGET_VAL(MipsISD::MULSAQ_S_W_PH),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULSAQ_S_W_PH),
                   119|128,1, 3, 1, 2, 3,
  11,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULSAQ_S_W_PH_MM),
                   119|128,1, 3, 1, 2, 3,
  0,
 30, TARGET_VAL(MipsISD::MAQ_S_W_PHL),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHL),
                   119|128,1, 3, 1, 2, 3,
  11,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHL_MM),
                   119|128,1, 3, 1, 2, 3,
  0,
 30, TARGET_VAL(MipsISD::MAQ_S_W_PHR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHR),
                   119|128,1, 3, 1, 2, 3,
  11,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHR_MM),
                   119|128,1, 3, 1, 2, 3,
  0,
 30, TARGET_VAL(MipsISD::MAQ_SA_W_PHL),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHL),
                   119|128,1, 3, 1, 2, 3,
  11,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHL_MM),
                   119|128,1, 3, 1, 2, 3,
  0,
 30, TARGET_VAL(MipsISD::MAQ_SA_W_PHR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHR),
                   119|128,1, 3, 1, 2, 3,
  11,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHR_MM),
                   119|128,1, 3, 1, 2, 3,
  0,
 27, TARGET_VAL(MipsISD::DPAU_H_QBL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 10,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBL),
                   119|128,1, 3, 0, 1, 2,
  10,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBL_MM),
                   119|128,1, 3, 0, 1, 2,
  0,
 27, TARGET_VAL(MipsISD::DPAU_H_QBR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 10,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBR),
                   119|128,1, 3, 0, 1, 2,
  10,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBR_MM),
                   119|128,1, 3, 0, 1, 2,
  0,
 27, TARGET_VAL(MipsISD::DPSU_H_QBL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 10,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBL),
                   119|128,1, 3, 0, 1, 2,
  10,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBL_MM),
                   119|128,1, 3, 0, 1, 2,
  0,
 27, TARGET_VAL(MipsISD::DPSU_H_QBR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 10,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBR),
                   119|128,1, 3, 0, 1, 2,
  10,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBR_MM),
                   119|128,1, 3, 0, 1, 2,
  0,
 30, TARGET_VAL(MipsISD::DPAQ_S_W_PH),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_S_W_PH),
                   119|128,1, 3, 1, 2, 3,
  11,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_S_W_PH_MM),
                   119|128,1, 3, 1, 2, 3,
  0,
 30, TARGET_VAL(MipsISD::DPSQ_S_W_PH),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_S_W_PH),
                   119|128,1, 3, 1, 2, 3,
  11,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_S_W_PH_MM),
                   119|128,1, 3, 1, 2, 3,
  0,
 30, TARGET_VAL(MipsISD::DPAQ_SA_L_W),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_SA_L_W),
                   119|128,1, 3, 1, 2, 3,
  11,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_SA_L_W_MM),
                   119|128,1, 3, 1, 2, 3,
  0,
 30, TARGET_VAL(MipsISD::DPSQ_SA_L_W),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_SA_L_W),
                   119|128,1, 3, 1, 2, 3,
  11,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_SA_L_W_MM),
                   119|128,1, 3, 1, 2, 3,
  0,
 27, TARGET_VAL(MipsISD::MTHLIP),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 10,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MTHLIP),
                   119|128,1, 2, 1, 2,
  10,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MTHLIP_MM),
                   119|128,1, 2, 1, 2,
  0,
 29, TARGET_VAL(MipsISD::DPA_W_PH),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate, 13,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPA_W_PH),
                   119|128,1, 3, 0, 1, 2,
  11,
   OPC_CheckPatternPredicate, 14,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPA_W_PH_MMR2),
                   119|128,1, 3, 0, 1, 2,
  0,
 29, TARGET_VAL(MipsISD::DPS_W_PH),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate, 13,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPS_W_PH),
                   119|128,1, 3, 0, 1, 2,
  11,
   OPC_CheckPatternPredicate, 14,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPS_W_PH_MMR2),
                   119|128,1, 3, 0, 1, 2,
  0,
 32, TARGET_VAL(MipsISD::DPAQX_S_W_PH),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 12,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_S_W_PH),
                   119|128,1, 3, 1, 2, 3,
  12,
   OPC_CheckPatternPredicate, 14,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_S_W_PH_MMR2),
                   119|128,1, 3, 1, 2, 3,
  0,
 32, TARGET_VAL(MipsISD::DPAQX_SA_W_PH),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 12,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_SA_W_PH),
                   119|128,1, 3, 1, 2, 3,
  12,
   OPC_CheckPatternPredicate, 14,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_SA_W_PH_MMR2),
                   119|128,1, 3, 1, 2, 3,
  0,
 29, TARGET_VAL(MipsISD::DPAX_W_PH),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate, 13,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAX_W_PH),
                   119|128,1, 3, 0, 1, 2,
  11,
   OPC_CheckPatternPredicate, 14,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAX_W_PH_MMR2),
                   119|128,1, 3, 0, 1, 2,
  0,
 29, TARGET_VAL(MipsISD::DPSX_W_PH),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate, 13,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSX_W_PH),
                   119|128,1, 3, 0, 1, 2,
  11,
   OPC_CheckPatternPredicate, 14,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSX_W_PH_MMR2),
                   119|128,1, 3, 0, 1, 2,
  0,
 32, TARGET_VAL(MipsISD::DPSQX_S_W_PH),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 12,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_S_W_PH),
                   119|128,1, 3, 1, 2, 3,
  12,
   OPC_CheckPatternPredicate, 14,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_S_W_PH_MMR2),
                   119|128,1, 3, 1, 2, 3,
  0,
 32, TARGET_VAL(MipsISD::DPSQX_SA_W_PH),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 12,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_SA_W_PH),
                   119|128,1, 3, 1, 2, 3,
  12,
   OPC_CheckPatternPredicate, 14,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_SA_W_PH_MMR2),
                   119|128,1, 3, 1, 2, 3,
  0,
 29, TARGET_VAL(MipsISD::MULSA_W_PH),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate, 13,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULSA_W_PH),
                   119|128,1, 3, 0, 1, 2,
  11,
   OPC_CheckPatternPredicate, 14,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULSA_W_PH_MMR2),
                   119|128,1, 3, 0, 1, 2,
  0,
 13, TARGET_VAL(ISD::ADDE),
  OPC_CaptureGlueInput,
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckTypeI32,
  OPC_CheckPatternPredicate1,
  OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDWC), 0|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i32, 2, 0, 1,
 58, TARGET_VAL(ISD::BSWAP),
  OPC_RecordChild0,
  OPC_SwitchType , 37, MVT::i32,
   OPC_Scope, 17,
    OPC_CheckPatternPredicate, 58,
    OPC_EmitNode1None, TARGET_VAL(Mips::WSBH),
                    MVT::i32, 1, 0,
    OPC_EmitIntegerI32, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR),
                    MVT::i32, 2, 1, 2,
   16,
    OPC_CheckPatternPredicate4,
    OPC_EmitNode1None, TARGET_VAL(Mips::WSBH_MM),
                    MVT::i32, 1, 0,
    OPC_EmitIntegerI32, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR_MM),
                    MVT::i32, 2, 1, 2,
   0,
  14, MVT::i64,
   OPC_CheckPatternPredicate, 134,
   OPC_EmitNode1None, TARGET_VAL(Mips::DSBH),
                   MVT::i64, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSHD),
                   MVT::i64, 1, 1,
  0,
 19, TARGET_VAL(ISD::ANY_EXTEND),
  OPC_RecordChild0,
  OPC_CheckTypeI64,
  OPC_CheckPatternPredicate, 9,
  OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                  MVT::i64, 0,
  OPC_EmitIntegerI32, Mips::sub_32,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                  MVT::i64, 3, 1, 0, 2,
 82, TARGET_VAL(ISD::IS_FPCLASS),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 38,
   OPC_CheckChild0Type, MVT::f32,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitRegisterI32, Mips::ZERO,
   OPC_EmitNode1None, TARGET_VAL(Mips::CLASS_S),
                   MVT::f32, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Mips::MFC1),
                   MVT::i32, 1, 3,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 6, 5,
   OPC_EmitNode1None, TARGET_VAL(Mips::ANDi),
                   MVT::i32, 2, 4, 6,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
                   MVT::i32, 2, 2, 7,
  38,
   OPC_CheckChild0Type, MVT::f64,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitRegisterI32, Mips::ZERO,
   OPC_EmitNode1None, TARGET_VAL(Mips::CLASS_D),
                   MVT::f64, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Mips::MFC1_D64),
                   MVT::i32, 1, 3,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 6, 5,
   OPC_EmitNode1None, TARGET_VAL(Mips::ANDi),
                   MVT::i32, 2, 4, 6,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
                   MVT::i32, 2, 2, 7,
  0,
 43, TARGET_VAL(MipsISD::DivRem),
  OPC_RecordChild0,
  OPC_Scope, 26,
   OPC_CheckChild0TypeI32,
   OPC_RecordChild1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 54,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSDIV),
                    119|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 108,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SDIV_MM_Pseudo),
                    119|128,1, 2, 0, 1,
   0,
  12,
   OPC_CheckChild0TypeI64,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 44,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDSDIV),
                   119|128,1, 2, 0, 1,
  0,
 43, TARGET_VAL(MipsISD::DivRemU),
  OPC_RecordChild0,
  OPC_Scope, 26,
   OPC_CheckChild0TypeI32,
   OPC_RecordChild1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 54,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoUDIV),
                    119|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 108,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::UDIV_MM_Pseudo),
                    119|128,1, 2, 0, 1,
   0,
  12,
   OPC_CheckChild0TypeI64,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 44,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDUDIV),
                   119|128,1, 2, 0, 1,
  0,
 79, TARGET_VAL(ISD::SDIV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 22, MVT::i32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_MMR6),
                    MVT::i32, 2, 0, 1,
   0,
  9, MVT::i64,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DDIV),
                   MVT::i64, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_D),
                   MVT::v2i64, 2, 0, 1,
  0,
 79, TARGET_VAL(ISD::UDIV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 22, MVT::i32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIVU),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIVU_MMR6),
                    MVT::i32, 2, 0, 1,
   0,
  9, MVT::i64,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DDIVU),
                   MVT::i64, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_D),
                   MVT::v2i64, 2, 0, 1,
  0,
 79, TARGET_VAL(ISD::SREM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 22, MVT::i32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_MMR6),
                    MVT::i32, 2, 0, 1,
   0,
  9, MVT::i64,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMOD),
                   MVT::i64, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_D),
                   MVT::v2i64, 2, 0, 1,
  0,
 79, TARGET_VAL(ISD::UREM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 22, MVT::i32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODU),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODU_MMR6),
                    MVT::i32, 2, 0, 1,
   0,
  9, MVT::i64,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMODU),
                   MVT::i64, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_D),
                   MVT::v2i64, 2, 0, 1,
  0,
 40, TARGET_VAL(MipsISD::VALL_NONZERO),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 8,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_B_PSEUDO),
                   MVT::i32, 1, 0,
  8,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_H_PSEUDO),
                   MVT::i32, 1, 0,
  8,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_W_PSEUDO),
                   MVT::i32, 1, 0,
  8,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_D_PSEUDO),
                   MVT::i32, 1, 0,
  0,
 10, TARGET_VAL(MipsISD::VANY_NONZERO),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v16i8,
  OPC_CheckTypeI32,
  OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_V_PSEUDO),
                  MVT::i32, 1, 0,
 40, TARGET_VAL(MipsISD::VALL_ZERO),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 8,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_B_PSEUDO),
                   MVT::i32, 1, 0,
  8,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_H_PSEUDO),
                   MVT::i32, 1, 0,
  8,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_W_PSEUDO),
                   MVT::i32, 1, 0,
  8,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_D_PSEUDO),
                   MVT::i32, 1, 0,
  0,
 10, TARGET_VAL(MipsISD::VANY_ZERO),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v16i8,
  OPC_CheckTypeI32,
  OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_V_PSEUDO),
                  MVT::i32, 1, 0,
 33|128,7, TARGET_VAL(ISD::STRICT_FSUB),
  OPC_RecordNode,
  OPC_Scope, 113|128,6,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 123|128,5, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 38,
    OPC_MoveSibling2,
    OPC_SwitchOpcode , 6|128,2, TARGET_VAL(ISD::STRICT_FADD),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_Scope, 0|128,1,
      OPC_MoveChild1,
      OPC_SwitchOpcode , 62, TARGET_VAL(ISD::STRICT_FMUL),
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_MoveParent,
       OPC_SwitchType , 15, MVT::f32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitMergeInputChains, 3, 0, 1, 2,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 5, 3, 4,
       34, MVT::f64,
        OPC_Scope, 15,
         OPC_CheckPatternPredicate, 23,
         OPC_EmitMergeInputChains, 3, 0, 1, 2,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                         MVT::f64, 3, 5, 3, 4,
        15,
         OPC_CheckPatternPredicate, 24,
         OPC_EmitMergeInputChains, 3, 0, 1, 2,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                         MVT::f64, 3, 5, 3, 4,
        0,
       0,
      57, TARGET_VAL(ISD::FMUL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_MoveParent,
       OPC_SwitchType , 14, MVT::f32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 4, 2, 3,
       32, MVT::f64,
        OPC_Scope, 14,
         OPC_CheckPatternPredicate, 23,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                         MVT::f64, 3, 4, 2, 3,
        14,
         OPC_CheckPatternPredicate, 24,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                         MVT::f64, 3, 4, 2, 3,
        0,
       0,
      0,
     127,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_SwitchOpcode , 61, TARGET_VAL(ISD::STRICT_FMUL),
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 15, MVT::f32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitMergeInputChains, 3, 0, 1, 3,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 2, 4, 5,
       34, MVT::f64,
        OPC_Scope, 15,
         OPC_CheckPatternPredicate, 23,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                         MVT::f64, 3, 2, 4, 5,
        15,
         OPC_CheckPatternPredicate, 24,
         OPC_EmitMergeInputChains, 3, 0, 1, 3,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                         MVT::f64, 3, 2, 4, 5,
        0,
       0,
      56, TARGET_VAL(ISD::FMUL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 14, MVT::f32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 2, 3, 4,
       32, MVT::f64,
        OPC_Scope, 14,
         OPC_CheckPatternPredicate, 23,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                         MVT::f64, 3, 2, 3, 4,
        14,
         OPC_CheckPatternPredicate, 24,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                         MVT::f64, 3, 2, 3, 4,
        0,
       0,
      0,
     0,
    107|128,1, TARGET_VAL(ISD::FADD),
     OPC_Scope, 116,
      OPC_MoveChild0,
      OPC_SwitchOpcode , 59, TARGET_VAL(ISD::STRICT_FMUL),
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_SwitchType , 14, MVT::f32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 4, 2, 3,
       32, MVT::f64,
        OPC_Scope, 14,
         OPC_CheckPatternPredicate, 23,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                         MVT::f64, 3, 4, 2, 3,
        14,
         OPC_CheckPatternPredicate, 24,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                         MVT::f64, 3, 4, 2, 3,
        0,
       0,
      48, TARGET_VAL(ISD::FMUL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::f32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 3, 1, 2,
       26, MVT::f64,
        OPC_Scope, 11,
         OPC_CheckPatternPredicate, 23,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                         MVT::f64, 3, 3, 1, 2,
        11,
         OPC_CheckPatternPredicate, 24,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                         MVT::f64, 3, 3, 1, 2,
        0,
       0,
      0,
     115,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_SwitchOpcode , 58, TARGET_VAL(ISD::STRICT_FMUL),
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 14, MVT::f32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 1, 3, 4,
       32, MVT::f64,
        OPC_Scope, 14,
         OPC_CheckPatternPredicate, 23,
         OPC_EmitMergeInputChains, 2, 0, 2,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                         MVT::f64, 3, 1, 3, 4,
        14,
         OPC_CheckPatternPredicate, 24,
         OPC_EmitMergeInputChains, 2, 0, 2,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                         MVT::f64, 3, 1, 3, 4,
        0,
       0,
      47, TARGET_VAL(ISD::FMUL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::f32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 1, 2, 3,
       26, MVT::f64,
        OPC_Scope, 11,
         OPC_CheckPatternPredicate, 23,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                         MVT::f64, 3, 1, 2, 3,
        11,
         OPC_CheckPatternPredicate, 24,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                         MVT::f64, 3, 1, 2, 3,
        0,
       0,
      0,
     0,
    2|128,1, TARGET_VAL(ISD::STRICT_FSUB),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 62, TARGET_VAL(ISD::STRICT_FMUL),
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_SwitchType , 15, MVT::f32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitMergeInputChains, 3, 0, 1, 2,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
                       MVT::f32, 3, 5, 3, 4,
      34, MVT::f64,
       OPC_Scope, 15,
        OPC_CheckPatternPredicate, 23,
        OPC_EmitMergeInputChains, 3, 0, 1, 2,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
                        MVT::f64, 3, 5, 3, 4,
       15,
        OPC_CheckPatternPredicate, 24,
        OPC_EmitMergeInputChains, 3, 0, 1, 2,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
                        MVT::f64, 3, 5, 3, 4,
       0,
      0,
     57, TARGET_VAL(ISD::FMUL),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_SwitchType , 14, MVT::f32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
                       MVT::f32, 3, 4, 2, 3,
      32, MVT::f64,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 23,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
                        MVT::f64, 3, 4, 2, 3,
       14,
        OPC_CheckPatternPredicate, 24,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
                        MVT::f64, 3, 4, 2, 3,
       0,
      0,
     0,
    116, TARGET_VAL(ISD::FSUB),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 59, TARGET_VAL(ISD::STRICT_FMUL),
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_SwitchType , 14, MVT::f32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
                       MVT::f32, 3, 4, 2, 3,
      32, MVT::f64,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 23,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
                        MVT::f64, 3, 4, 2, 3,
       14,
        OPC_CheckPatternPredicate, 24,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
                        MVT::f64, 3, 4, 2, 3,
       0,
      0,
     48, TARGET_VAL(ISD::FMUL),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_SwitchType , 11, MVT::f32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
                       MVT::f32, 3, 3, 1, 2,
      26, MVT::f64,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate, 23,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
                        MVT::f64, 3, 3, 1, 2,
       11,
        OPC_CheckPatternPredicate, 24,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
                        MVT::f64, 3, 3, 1, 2,
       0,
      0,
     0,
    0,
   58, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 14, MVT::f32,
     OPC_CheckPatternPredicate, 36,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_S),
                     MVT::f32, 3, 4, 2, 3,
    32, MVT::f64,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate, 37,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D32),
                      MVT::f64, 3, 4, 2, 3,
     14,
      OPC_CheckPatternPredicate, 38,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D64),
                      MVT::f64, 3, 4, 2, 3,
     0,
    0,
   47, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 11, MVT::f32,
     OPC_CheckPatternPredicate, 36,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_S),
                     MVT::f32, 3, 3, 1, 2,
    26, MVT::f64,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 37,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D32),
                      MVT::f64, 3, 3, 1, 2,
     11,
      OPC_CheckPatternPredicate, 38,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D64),
                      MVT::f64, 3, 3, 1, 2,
     0,
    0,
   0,
  42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 10, MVT::f32,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSUB_S),
                    MVT::f32, 2, 1, 2,
   24, MVT::f64,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate, 52,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSUB_D32),
                     MVT::f64, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate, 53,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSUB_D64),
                     MVT::f64, 2, 1, 2,
    0,
   0,
  0,
 56|128,7, TARGET_VAL(ISD::FSUB),
  OPC_Scope, 27|128,6,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 49|128,5, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 38,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 109|128,1, TARGET_VAL(ISD::STRICT_FADD),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_Scope, 116,
      OPC_MoveChild1,
      OPC_SwitchOpcode , 59, TARGET_VAL(ISD::STRICT_FMUL),
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_MoveParent,
       OPC_SwitchType , 14, MVT::f32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 4, 2, 3,
       32, MVT::f64,
        OPC_Scope, 14,
         OPC_CheckPatternPredicate, 23,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                         MVT::f64, 3, 4, 2, 3,
        14,
         OPC_CheckPatternPredicate, 24,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                         MVT::f64, 3, 4, 2, 3,
        0,
       0,
      48, TARGET_VAL(ISD::FMUL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::f32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 3, 1, 2,
       26, MVT::f64,
        OPC_Scope, 11,
         OPC_CheckPatternPredicate, 23,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                         MVT::f64, 3, 3, 1, 2,
        11,
         OPC_CheckPatternPredicate, 24,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                         MVT::f64, 3, 3, 1, 2,
        0,
       0,
      0,
     115,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_SwitchOpcode , 58, TARGET_VAL(ISD::STRICT_FMUL),
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 14, MVT::f32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 1, 3, 4,
       32, MVT::f64,
        OPC_Scope, 14,
         OPC_CheckPatternPredicate, 23,
         OPC_EmitMergeInputChains, 2, 0, 2,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                         MVT::f64, 3, 1, 3, 4,
        14,
         OPC_CheckPatternPredicate, 24,
         OPC_EmitMergeInputChains, 2, 0, 2,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                         MVT::f64, 3, 1, 3, 4,
        0,
       0,
      47, TARGET_VAL(ISD::FMUL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::f32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 1, 2, 3,
       26, MVT::f64,
        OPC_Scope, 11,
         OPC_CheckPatternPredicate, 23,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                         MVT::f64, 3, 1, 2, 3,
        11,
         OPC_CheckPatternPredicate, 24,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                         MVT::f64, 3, 1, 2, 3,
        0,
       0,
      0,
     0,
    83|128,1, TARGET_VAL(ISD::FADD),
     OPC_Scope, 104,
      OPC_MoveChild0,
      OPC_SwitchOpcode , 50, TARGET_VAL(ISD::STRICT_FMUL),
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::f32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 3, 1, 2,
       26, MVT::f64,
        OPC_Scope, 11,
         OPC_CheckPatternPredicate, 23,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                         MVT::f64, 3, 3, 1, 2,
        11,
         OPC_CheckPatternPredicate, 24,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                         MVT::f64, 3, 3, 1, 2,
        0,
       0,
      45, TARGET_VAL(ISD::FMUL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_SwitchType , 10, MVT::f32,
        OPC_CheckPatternPredicate, 22,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 2, 0, 1,
       24, MVT::f64,
        OPC_Scope, 10,
         OPC_CheckPatternPredicate, 23,
         OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
                         MVT::f64, 3, 2, 0, 1,
        10,
         OPC_CheckPatternPredicate, 24,
         OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
                         MVT::f64, 3, 2, 0, 1,
        0,
       0,
      0,
     103,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_SwitchOpcode , 49, TARGET_VAL(ISD::STRICT_FMUL),
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_RecordChild1,
       OPC_RecordChild2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::f32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitMergeInputChains1_1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 0, 2, 3,
       26, MVT::f64,
        OPC_Scope, 11,
         OPC_CheckPatternPredicate, 23,
         OPC_EmitMergeInputChains1_1,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                         MVT::f64, 3, 0, 2, 3,
        11,
         OPC_CheckPatternPredicate, 24,
         OPC_EmitMergeInputChains1_1,
         OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                         MVT::f64, 3, 0, 2, 3,
        0,
       0,
      44, TARGET_VAL(ISD::FMUL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 10, MVT::f32,
        OPC_CheckPatternPredicate, 22,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 0, 1, 2,
       24, MVT::f64,
        OPC_Scope, 10,
         OPC_CheckPatternPredicate, 23,
         OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
                         MVT::f64, 3, 0, 1, 2,
        10,
         OPC_CheckPatternPredicate, 24,
         OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
                         MVT::f64, 3, 0, 1, 2,
        0,
       0,
      0,
     0,
    118, TARGET_VAL(ISD::STRICT_FSUB),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 59, TARGET_VAL(ISD::STRICT_FMUL),
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_SwitchType , 14, MVT::f32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
                       MVT::f32, 3, 4, 2, 3,
      32, MVT::f64,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 23,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
                        MVT::f64, 3, 4, 2, 3,
       14,
        OPC_CheckPatternPredicate, 24,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
                        MVT::f64, 3, 4, 2, 3,
       0,
      0,
     48, TARGET_VAL(ISD::FMUL),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_SwitchType , 11, MVT::f32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
                       MVT::f32, 3, 3, 1, 2,
      26, MVT::f64,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate, 23,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
                        MVT::f64, 3, 3, 1, 2,
       11,
        OPC_CheckPatternPredicate, 24,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
                        MVT::f64, 3, 3, 1, 2,
       0,
      0,
     0,
    104, TARGET_VAL(ISD::FSUB),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 50, TARGET_VAL(ISD::STRICT_FMUL),
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_SwitchType , 11, MVT::f32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
                       MVT::f32, 3, 3, 1, 2,
      26, MVT::f64,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate, 23,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
                        MVT::f64, 3, 3, 1, 2,
       11,
        OPC_CheckPatternPredicate, 24,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
                        MVT::f64, 3, 3, 1, 2,
       0,
      0,
     45, TARGET_VAL(ISD::FMUL),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_SwitchType , 10, MVT::f32,
       OPC_CheckPatternPredicate, 22,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_S),
                       MVT::f32, 3, 2, 0, 1,
      24, MVT::f64,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D32),
                        MVT::f64, 3, 2, 0, 1,
       10,
        OPC_CheckPatternPredicate, 24,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D64),
                        MVT::f64, 3, 2, 0, 1,
       0,
      0,
     0,
    0,
   49, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 11, MVT::f32,
     OPC_CheckPatternPredicate, 36,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_S),
                     MVT::f32, 3, 3, 1, 2,
    26, MVT::f64,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 37,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D32),
                      MVT::f64, 3, 3, 1, 2,
     11,
      OPC_CheckPatternPredicate, 38,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MSUB_D64),
                      MVT::f64, 3, 3, 1, 2,
     0,
    0,
   44, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 10, MVT::f32,
     OPC_CheckPatternPredicate, 36,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_S),
                     MVT::f32, 3, 2, 0, 1,
    24, MVT::f64,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 37,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_D32),
                      MVT::f64, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 38,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_D64),
                      MVT::f64, 3, 2, 0, 1,
     0,
    0,
   0,
  23|128,1,
   OPC_RecordChild0,
   OPC_Scope, 81,
    OPC_RecordChild1,
    OPC_SwitchType , 32, MVT::f32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 35,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_S),
                      MVT::f32, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate, 46,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_S_MM),
                      MVT::f32, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate, 27,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_S_MMR6),
                      MVT::f32, 2, 1, 0,
     0,
    42, MVT::f64,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 52,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D32),
                      MVT::f64, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate, 53,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D64),
                      MVT::f64, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate, 47,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D32_MM),
                      MVT::f64, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate, 48,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D64_MM),
                      MVT::f64, 2, 0, 1,
     0,
    0,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 11, 4|128,1,
     OPC_CheckPatternPredicate, 60,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_W),
                     4|128,1, 3, 0, 1, 2,
    11, 22|128,1,
     OPC_CheckPatternPredicate, 60,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_D),
                     22|128,1, 3, 0, 1, 2,
    0,
   27,
    OPC_RecordChild1,
    OPC_SwitchType , 9, 4|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_W),
                     4|128,1, 2, 0, 1,
    9, 22|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D),
                     22|128,1, 2, 0, 1,
    0,
   0,
  0,
 82|128,8, TARGET_VAL(ISD::FNEG),
  OPC_Scope, 3|128,8,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 102|128,2, TARGET_VAL(ISD::STRICT_FADD),
    OPC_RecordNode,
    OPC_Scope, 48|128,1,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 92, TARGET_VAL(ISD::STRICT_FMUL),
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_SwitchType , 32, MVT::f32,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 39,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 4, 2, 3,
       14,
        OPC_CheckPatternPredicate, 40,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
                        MVT::f32, 3, 4, 2, 3,
       0,
      47, MVT::f64,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 41,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                        MVT::f64, 3, 4, 2, 3,
       14,
        OPC_CheckPatternPredicate, 42,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                        MVT::f64, 3, 4, 2, 3,
       14,
        OPC_CheckPatternPredicate, 43,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
                        MVT::f64, 3, 4, 2, 3,
       0,
      0,
     75, TARGET_VAL(ISD::FMUL),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_SwitchType , 26, MVT::f32,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate, 39,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 3, 1, 2,
       11,
        OPC_CheckPatternPredicate, 40,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
                        MVT::f32, 3, 3, 1, 2,
       0,
      38, MVT::f64,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate, 41,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                        MVT::f64, 3, 3, 1, 2,
       11,
        OPC_CheckPatternPredicate, 42,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                        MVT::f64, 3, 3, 1, 2,
       11,
        OPC_CheckPatternPredicate, 43,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
                        MVT::f64, 3, 3, 1, 2,
       0,
      0,
     0,
    47|128,1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 91, TARGET_VAL(ISD::STRICT_FMUL),
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 32, MVT::f32,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 39,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 1, 3, 4,
       14,
        OPC_CheckPatternPredicate, 40,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
                        MVT::f32, 3, 1, 3, 4,
       0,
      47, MVT::f64,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 41,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                        MVT::f64, 3, 1, 3, 4,
       14,
        OPC_CheckPatternPredicate, 42,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                        MVT::f64, 3, 1, 3, 4,
       14,
        OPC_CheckPatternPredicate, 43,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
                        MVT::f64, 3, 1, 3, 4,
       0,
      0,
     74, TARGET_VAL(ISD::FMUL),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 26, MVT::f32,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate, 39,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 1, 2, 3,
       11,
        OPC_CheckPatternPredicate, 40,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
                        MVT::f32, 3, 1, 2, 3,
       0,
      38, MVT::f64,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate, 41,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                        MVT::f64, 3, 1, 2, 3,
       11,
        OPC_CheckPatternPredicate, 42,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                        MVT::f64, 3, 1, 2, 3,
       11,
        OPC_CheckPatternPredicate, 43,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
                        MVT::f64, 3, 1, 2, 3,
       0,
      0,
     0,
    0,
   61|128,2, TARGET_VAL(ISD::FADD),
    OPC_Scope, 28|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 77, TARGET_VAL(ISD::STRICT_FMUL),
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_SwitchType , 26, MVT::f32,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate, 39,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 3, 1, 2,
       11,
        OPC_CheckPatternPredicate, 40,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
                        MVT::f32, 3, 3, 1, 2,
       0,
      38, MVT::f64,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate, 41,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                        MVT::f64, 3, 3, 1, 2,
       11,
        OPC_CheckPatternPredicate, 42,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                        MVT::f64, 3, 3, 1, 2,
       11,
        OPC_CheckPatternPredicate, 43,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
                        MVT::f64, 3, 3, 1, 2,
       0,
      0,
     70, TARGET_VAL(ISD::FMUL),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_SwitchType , 24, MVT::f32,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 39,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 2, 0, 1,
       10,
        OPC_CheckPatternPredicate, 40,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S_MM),
                        MVT::f32, 3, 2, 0, 1,
       0,
      35, MVT::f64,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 41,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
                        MVT::f64, 3, 2, 0, 1,
       10,
        OPC_CheckPatternPredicate, 42,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
                        MVT::f64, 3, 2, 0, 1,
       10,
        OPC_CheckPatternPredicate, 43,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32_MM),
                        MVT::f64, 3, 2, 0, 1,
       0,
      0,
     0,
    27|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 76, TARGET_VAL(ISD::STRICT_FMUL),
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 26, MVT::f32,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate, 39,
        OPC_EmitMergeInputChains1_1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 0, 2, 3,
       11,
        OPC_CheckPatternPredicate, 40,
        OPC_EmitMergeInputChains1_1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_S_MM),
                        MVT::f32, 3, 0, 2, 3,
       0,
      38, MVT::f64,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate, 41,
        OPC_EmitMergeInputChains1_1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32),
                        MVT::f64, 3, 0, 2, 3,
       11,
        OPC_CheckPatternPredicate, 42,
        OPC_EmitMergeInputChains1_1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D64),
                        MVT::f64, 3, 0, 2, 3,
       11,
        OPC_CheckPatternPredicate, 43,
        OPC_EmitMergeInputChains1_1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMADD_D32_MM),
                        MVT::f64, 3, 0, 2, 3,
       0,
      0,
     69, TARGET_VAL(ISD::FMUL),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 24, MVT::f32,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 39,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
                        MVT::f32, 3, 0, 1, 2,
       10,
        OPC_CheckPatternPredicate, 40,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S_MM),
                        MVT::f32, 3, 0, 1, 2,
       0,
      35, MVT::f64,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 41,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
                        MVT::f64, 3, 0, 1, 2,
       10,
        OPC_CheckPatternPredicate, 42,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
                        MVT::f64, 3, 0, 1, 2,
       10,
        OPC_CheckPatternPredicate, 43,
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32_MM),
                        MVT::f64, 3, 0, 1, 2,
       0,
      0,
     0,
    0,
   49|128,1, TARGET_VAL(ISD::STRICT_FSUB),
    OPC_RecordNode,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 92, TARGET_VAL(ISD::STRICT_FMUL),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_SwitchType , 32, MVT::f32,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate, 39,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
                       MVT::f32, 3, 4, 2, 3,
      14,
       OPC_CheckPatternPredicate, 40,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S_MM),
                       MVT::f32, 3, 4, 2, 3,
      0,
     47, MVT::f64,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate, 41,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
                       MVT::f64, 3, 4, 2, 3,
      14,
       OPC_CheckPatternPredicate, 42,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
                       MVT::f64, 3, 4, 2, 3,
      14,
       OPC_CheckPatternPredicate, 43,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32_MM),
                       MVT::f64, 3, 4, 2, 3,
      0,
     0,
    75, TARGET_VAL(ISD::FMUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_SwitchType , 26, MVT::f32,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate, 39,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
                       MVT::f32, 3, 3, 1, 2,
      11,
       OPC_CheckPatternPredicate, 40,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S_MM),
                       MVT::f32, 3, 3, 1, 2,
      0,
     38, MVT::f64,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate, 41,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
                       MVT::f64, 3, 3, 1, 2,
      11,
       OPC_CheckPatternPredicate, 42,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
                       MVT::f64, 3, 3, 1, 2,
      11,
       OPC_CheckPatternPredicate, 43,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32_MM),
                       MVT::f64, 3, 3, 1, 2,
      0,
     0,
    0,
   28|128,1, TARGET_VAL(ISD::FSUB),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 77, TARGET_VAL(ISD::STRICT_FMUL),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_SwitchType , 26, MVT::f32,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate, 39,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S),
                       MVT::f32, 3, 3, 1, 2,
      11,
       OPC_CheckPatternPredicate, 40,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_S_MM),
                       MVT::f32, 3, 3, 1, 2,
      0,
     38, MVT::f64,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate, 41,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32),
                       MVT::f64, 3, 3, 1, 2,
      11,
       OPC_CheckPatternPredicate, 42,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D64),
                       MVT::f64, 3, 3, 1, 2,
      11,
       OPC_CheckPatternPredicate, 43,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::NMSUB_D32_MM),
                       MVT::f64, 3, 3, 1, 2,
      0,
     0,
    70, TARGET_VAL(ISD::FMUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_SwitchType , 24, MVT::f32,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 39,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_S),
                       MVT::f32, 3, 2, 0, 1,
      10,
       OPC_CheckPatternPredicate, 40,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_S_MM),
                       MVT::f32, 3, 2, 0, 1,
      0,
     35, MVT::f64,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 41,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D32),
                       MVT::f64, 3, 2, 0, 1,
      10,
       OPC_CheckPatternPredicate, 42,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D64),
                       MVT::f64, 3, 2, 0, 1,
      10,
       OPC_CheckPatternPredicate, 43,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D32_MM),
                       MVT::f64, 3, 2, 0, 1,
      0,
     0,
    0,
   0,
  74,
   OPC_RecordChild0,
   OPC_SwitchType , 29, MVT::f32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 135,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S),
                     MVT::f32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 46,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MM),
                     MVT::f32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MMR6),
                     MVT::f32, 1, 0,
    0,
   38, MVT::f64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 52,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D32),
                     MVT::f64, 1, 0,
    8,
     OPC_CheckPatternPredicate, 53,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D64),
                     MVT::f64, 1, 0,
    8,
     OPC_CheckPatternPredicate, 47,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D32_MM),
                     MVT::f64, 1, 0,
    8,
     OPC_CheckPatternPredicate, 48,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D64_MM),
                     MVT::f64, 1, 0,
    0,
   0,
  0,
 22|128,2, TARGET_VAL(ISD::STRICT_FADD),
  OPC_RecordNode,
  OPC_Scope, 114,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 58, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 14, MVT::f32,
     OPC_CheckPatternPredicate, 36,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
                     MVT::f32, 3, 4, 2, 3,
    32, MVT::f64,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate, 37,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
                      MVT::f64, 3, 4, 2, 3,
     14,
      OPC_CheckPatternPredicate, 38,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
                      MVT::f64, 3, 4, 2, 3,
     0,
    0,
   47, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 11, MVT::f32,
     OPC_CheckPatternPredicate, 36,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
                     MVT::f32, 3, 3, 1, 2,
    26, MVT::f64,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 37,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
                      MVT::f64, 3, 3, 1, 2,
     11,
      OPC_CheckPatternPredicate, 38,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
                      MVT::f64, 3, 3, 1, 2,
     0,
    0,
   0,
  30|128,1,
   OPC_RecordChild1,
   OPC_Scope, 112,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 57, TARGET_VAL(ISD::STRICT_FMUL),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_SwitchType , 14, MVT::f32,
      OPC_CheckPatternPredicate, 36,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
                      MVT::f32, 3, 1, 3, 4,
     32, MVT::f64,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate, 37,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
                       MVT::f64, 3, 1, 3, 4,
      14,
       OPC_CheckPatternPredicate, 38,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
                       MVT::f64, 3, 1, 3, 4,
      0,
     0,
    46, TARGET_VAL(ISD::FMUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::f32,
      OPC_CheckPatternPredicate, 36,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
                      MVT::f32, 3, 1, 2, 3,
     26, MVT::f64,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate, 37,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
                       MVT::f64, 3, 1, 2, 3,
      11,
       OPC_CheckPatternPredicate, 38,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
                       MVT::f64, 3, 1, 2, 3,
      0,
     0,
    0,
   41,
    OPC_RecordChild2,
    OPC_SwitchType , 10, MVT::f32,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FADD_S),
                     MVT::f32, 2, 1, 2,
    24, MVT::f64,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 52,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FADD_D32),
                      MVT::f64, 2, 1, 2,
     10,
      OPC_CheckPatternPredicate, 53,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FADD_D64),
                      MVT::f64, 2, 1, 2,
     0,
    0,
   0,
  0,
 15|128,3, TARGET_VAL(ISD::FADD),
  OPC_Scope, 102,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 49, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 11, MVT::f32,
     OPC_CheckPatternPredicate, 36,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
                     MVT::f32, 3, 3, 1, 2,
    26, MVT::f64,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 37,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
                      MVT::f64, 3, 3, 1, 2,
     11,
      OPC_CheckPatternPredicate, 38,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
                      MVT::f64, 3, 3, 1, 2,
     0,
    0,
   44, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 10, MVT::f32,
     OPC_CheckPatternPredicate, 36,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_S),
                     MVT::f32, 3, 2, 0, 1,
    24, MVT::f64,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 37,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D32),
                      MVT::f64, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 38,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D64),
                      MVT::f64, 3, 2, 0, 1,
     0,
    0,
   0,
  96|128,1,
   OPC_RecordChild0,
   OPC_Scope, 100,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::STRICT_FMUL),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::f32,
      OPC_CheckPatternPredicate, 36,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_S),
                      MVT::f32, 3, 0, 2, 3,
     26, MVT::f64,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate, 37,
       OPC_EmitMergeInputChains1_1,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D32),
                       MVT::f64, 3, 0, 2, 3,
      11,
       OPC_CheckPatternPredicate, 38,
       OPC_EmitMergeInputChains1_1,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MADD_D64),
                       MVT::f64, 3, 0, 2, 3,
      0,
     0,
    43, TARGET_VAL(ISD::FMUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_SwitchType , 10, MVT::f32,
      OPC_CheckPatternPredicate, 36,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_S),
                      MVT::f32, 3, 0, 1, 2,
     24, MVT::f64,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 37,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D32),
                       MVT::f64, 3, 0, 1, 2,
      10,
       OPC_CheckPatternPredicate, 38,
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D64),
                       MVT::f64, 3, 0, 1, 2,
      0,
     0,
    0,
   81,
    OPC_RecordChild1,
    OPC_SwitchType , 32, MVT::f32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 35,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_S),
                      MVT::f32, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate, 46,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_S_MM),
                      MVT::f32, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate, 27,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_S_MMR6),
                      MVT::f32, 2, 1, 0,
     0,
    42, MVT::f64,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 52,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D32),
                      MVT::f64, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate, 53,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D64),
                      MVT::f64, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate, 47,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D32_MM),
                      MVT::f64, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate, 48,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D64_MM),
                      MVT::f64, 2, 0, 1,
     0,
    0,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 11, 4|128,1,
     OPC_CheckPatternPredicate, 60,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_W),
                     4|128,1, 3, 0, 1, 2,
    11, 22|128,1,
     OPC_CheckPatternPredicate, 60,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_D),
                     22|128,1, 3, 0, 1, 2,
    0,
   0,
  38,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 11, 4|128,1,
    OPC_CheckPatternPredicate, 60,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_W),
                    4|128,1, 3, 2, 0, 1,
   11, 22|128,1,
    OPC_CheckPatternPredicate, 60,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_D),
                    22|128,1, 3, 2, 0, 1,
   0,
  28,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 9, 4|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_W),
                    4|128,1, 2, 0, 1,
   9, 22|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D),
                    22|128,1, 2, 0, 1,
   0,
  0,
 8|128,1, TARGET_VAL(ISD::ConstantFP),
  OPC_Scope, 54,
   OPC_CheckPredicate, 38,
   OPC_SwitchType , 34, MVT::f32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate, 72,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1),
                     MVT::f32, 1, 0,
    9,
     OPC_CheckPatternPredicate7,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MM),
                     MVT::f32, 1, 0,
    10,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MMR6),
                     MVT::f32, 1, 0,
    0,
   12, MVT::f64,
    OPC_CheckPatternPredicate, 109,
    OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMTC1),
                    MVT::f64, 1, 0,
   0,
  78,
   OPC_CheckPredicate, 63,
   OPC_SwitchType , 52, MVT::f32,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate, 72,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_EmitNode1None, TARGET_VAL(Mips::MTC1),
                     MVT::f32, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S),
                     MVT::f32, 1, 1,
    15,
     OPC_CheckPatternPredicate7,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_EmitNode1None, TARGET_VAL(Mips::MTC1_MM),
                     MVT::f32, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MM),
                     MVT::f32, 1, 1,
    16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitRegisterI32, Mips::ZERO,
     OPC_EmitNode1None, TARGET_VAL(Mips::MTC1_MMR6),
                     MVT::f32, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MMR6),
                     MVT::f32, 1, 1,
    0,
   18, MVT::f64,
    OPC_CheckPatternPredicate, 109,
    OPC_EmitRegister2, MVT::i64,TARGET_VAL(Mips::ZERO_64),
    OPC_EmitNode1None, TARGET_VAL(Mips::DMTC1),
                    MVT::f64, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D64),
                    MVT::f64, 1, 1,
   0,
  0,
 87, TARGET_VAL(ISD::FABS),
  OPC_RecordChild0,
  OPC_SwitchType , 20, MVT::f32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 136,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_S),
                    MVT::f32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 137,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_S_MM),
                    MVT::f32, 1, 0,
   0,
  38, MVT::f64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 138,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D32),
                    MVT::f64, 1, 0,
   8,
    OPC_CheckPatternPredicate, 139,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D64),
                    MVT::f64, 1, 0,
   8,
    OPC_CheckPatternPredicate, 47,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D32_MM),
                    MVT::f64, 1, 0,
   8,
    OPC_CheckPatternPredicate, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D64_MM),
                    MVT::f64, 1, 0,
   0,
  8, 4|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_W),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D),
                   22|128,1, 1, 0,
  0,
 39, TARGET_VAL(ISD::STRICT_FSQRT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f32,
   OPC_CheckPatternPredicate, 110,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSQRT_S),
                   MVT::f32, 1, 1,
  22, MVT::f64,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 68,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSQRT_D32),
                    MVT::f64, 1, 1,
   9,
    OPC_CheckPatternPredicate, 67,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FSQRT_D64),
                    MVT::f64, 1, 1,
   0,
  0,
 87, TARGET_VAL(ISD::FSQRT),
  OPC_RecordChild0,
  OPC_SwitchType , 20, MVT::f32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 110,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_S),
                    MVT::f32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_S_MM),
                    MVT::f32, 1, 0,
   0,
  38, MVT::f64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 68,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D32),
                    MVT::f64, 1, 0,
   8,
    OPC_CheckPatternPredicate, 67,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D64),
                    MVT::f64, 1, 0,
   8,
    OPC_CheckPatternPredicate, 47,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D32_MM),
                    MVT::f64, 1, 0,
   8,
    OPC_CheckPatternPredicate, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D64_MM),
                    MVT::f64, 1, 0,
   0,
  8, 4|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_W),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D),
                   22|128,1, 1, 0,
  0,
 43, TARGET_VAL(ISD::STRICT_FDIV),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, MVT::f32,
   OPC_CheckPatternPredicate, 35,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FDIV_S),
                   MVT::f32, 2, 1, 2,
  24, MVT::f64,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 52,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FDIV_D32),
                    MVT::f64, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 53,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FDIV_D64),
                    MVT::f64, 2, 1, 2,
   0,
  0,
 106, TARGET_VAL(ISD::FDIV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 32, MVT::f32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 35,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_S),
                    MVT::f32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_S_MM),
                    MVT::f32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_S_MMR6),
                    MVT::f32, 2, 1, 0,
   0,
  42, MVT::f64,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 52,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D32),
                    MVT::f64, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 53,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D64),
                    MVT::f64, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 47,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D32_MM),
                    MVT::f64, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D64_MM),
                    MVT::f64, 2, 0, 1,
   0,
  9, 4|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_W),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D),
                   22|128,1, 2, 0, 1,
  0,
 43, TARGET_VAL(ISD::STRICT_FMUL),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, MVT::f32,
   OPC_CheckPatternPredicate, 35,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FMUL_S),
                   MVT::f32, 2, 1, 2,
  24, MVT::f64,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 52,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FMUL_D32),
                    MVT::f64, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 53,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::FMUL_D64),
                    MVT::f64, 2, 1, 2,
   0,
  0,
 56|128,1, TARGET_VAL(ISD::FMUL),
  OPC_Scope, 118,
   OPC_RecordChild0,
   OPC_Scope, 81,
    OPC_RecordChild1,
    OPC_SwitchType , 32, MVT::f32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 35,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_S),
                      MVT::f32, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate, 46,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_S_MM),
                      MVT::f32, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate, 27,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_S_MMR6),
                      MVT::f32, 2, 1, 0,
     0,
    42, MVT::f64,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 52,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D32),
                      MVT::f64, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate, 53,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D64),
                      MVT::f64, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate, 47,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D32_MM),
                      MVT::f64, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate, 48,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D64_MM),
                      MVT::f64, 2, 0, 1,
     0,
    0,
   32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FEXP2),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 9, 4|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_W),
                     4|128,1, 2, 0, 1,
    9, 22|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_D),
                     22|128,1, 2, 0, 1,
    0,
   0,
  33,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FEXP2),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 9, 4|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_W),
                    4|128,1, 2, 1, 0,
   9, 22|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_D),
                    22|128,1, 2, 1, 0,
   0,
  28,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 9, 4|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_W),
                    4|128,1, 2, 0, 1,
   9, 22|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D),
                    22|128,1, 2, 0, 1,
   0,
  0,
 24, TARGET_VAL(MipsISD::BuildPairF64),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 9,
   OPC_CheckPatternPredicate, 100,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BuildPairF64),
                   MVT::f64, 2, 0, 1,
  9,
   OPC_CheckPatternPredicate, 101,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BuildPairF64_64),
                   MVT::f64, 2, 0, 1,
  0,
 76, TARGET_VAL(ISD::STRICT_SINT_TO_FP),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 36,
   OPC_CheckChild1TypeI32,
   OPC_SwitchType , 7, MVT::f32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PseudoCVT_S_W),
                    MVT::f32, 1, 1,
   22, MVT::f64,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 111,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PseudoCVT_D32_W),
                     MVT::f64, 1, 1,
    9,
     OPC_CheckPatternPredicate, 61,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PseudoCVT_D64_W),
                     MVT::f64, 1, 1,
    0,
   0,
  34,
   OPC_CheckChild1TypeI64,
   OPC_SwitchType , 9, MVT::f64,
    OPC_CheckPatternPredicate, 61,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PseudoCVT_D64_L),
                    MVT::f64, 1, 1,
   18, MVT::f32,
    OPC_CheckPatternPredicate, 61,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCVT_S_L),
                    MVT::f64, 1, 1,
    OPC_EmitIntegerI32, Mips::sub_lo,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 2, 3,
   0,
  0,
 98, TARGET_VAL(ISD::SINT_TO_FP),
  OPC_RecordChild0,
  OPC_Scope, 33,
   OPC_CheckChild0TypeI32,
   OPC_SwitchType , 6, MVT::f32,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_S_W),
                    MVT::f32, 1, 0,
   20, MVT::f64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 111,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_D32_W),
                     MVT::f64, 1, 0,
    8,
     OPC_CheckPatternPredicate, 61,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_D64_W),
                     MVT::f64, 1, 0,
    0,
   0,
  32,
   OPC_CheckChild0TypeI64,
   OPC_SwitchType , 8, MVT::f64,
    OPC_CheckPatternPredicate, 61,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_D64_L),
                    MVT::f64, 1, 0,
   17, MVT::f32,
    OPC_CheckPatternPredicate, 61,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCVT_S_L),
                    MVT::f64, 1, 0,
    OPC_EmitIntegerI32, Mips::sub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 1, 2,
   0,
  13,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_S_W),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_CheckType, 22|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_S_D),
                   22|128,1, 1, 0,
  0,
 2|128,1, TARGET_VAL(MipsISD::TruncIntFP),
  OPC_RecordChild0,
  OPC_Scope, 44,
   OPC_CheckChild0Type, MVT::f32,
   OPC_SwitchType , 28, MVT::f32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 72,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_S),
                     MVT::f32, 1, 0,
    7,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_S_MM),
                     MVT::f32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_S_MMR6),
                     MVT::f32, 1, 0,
    0,
   8, MVT::f64,
    OPC_CheckPatternPredicate, 80,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_L_S),
                    MVT::f64, 1, 0,
   0,
  63,
   OPC_CheckChild0Type, MVT::f64,
   OPC_SwitchType , 47, MVT::f32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 140,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D32),
                     MVT::f32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 80,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D64),
                     MVT::f32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 32,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_MM),
                     MVT::f32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 141,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_W_D64_MM),
                     MVT::f32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D_MMR6),
                     MVT::f32, 1, 0,
    0,
   8, MVT::f64,
    OPC_CheckPatternPredicate, 80,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_L_D64),
                    MVT::f64, 1, 0,
   0,
  17,
   OPC_CheckChild0Type, MVT::f16,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Mips::MSA_FP_EXTEND_D_PSEUDO),
                   MVT::f64, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D64),
                   MVT::f32, 1, 1,
  0,
 21, TARGET_VAL(MipsISD::MTC1_D64),
  OPC_RecordChild0,
  OPC_Scope, 8,
   OPC_CheckPatternPredicate, 142,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_D64),
                   MVT::f64, 1, 0,
  8,
   OPC_CheckPatternPredicate, 62,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_D64_MM),
                   MVT::f64, 1, 0,
  0,
 26, TARGET_VAL(ISD::STRICT_FP_ROUND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckType, MVT::f32,
  OPC_Scope, 9,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CVT_S_D32),
                   MVT::f32, 1, 1,
  9,
   OPC_CheckPatternPredicate, 55,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CVT_S_D64),
                   MVT::f32, 1, 1,
  0,
 67, TARGET_VAL(ISD::FP_ROUND),
  OPC_RecordChild0,
  OPC_SwitchType , 38, MVT::f32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 56,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D32),
                    MVT::f32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 55,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D64),
                    MVT::f32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 62,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D64_MM),
                    MVT::f32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 66,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D32_MM),
                    MVT::f32, 1, 0,
   0,
  22, MVT::f16,
   OPC_Scope, 9,
    OPC_CheckChild0Type, MVT::f32,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSA_FP_ROUND_W_PSEUDO),
                    MVT::f16, 1, 0,
   9,
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSA_FP_ROUND_D_PSEUDO),
                    MVT::f16, 1, 0,
   0,
  0,
 28, TARGET_VAL(ISD::STRICT_FP_EXTEND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1Type, MVT::f32,
  OPC_CheckType, MVT::f64,
  OPC_Scope, 9,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CVT_D32_S),
                   MVT::f64, 1, 1,
  9,
   OPC_CheckPatternPredicate, 55,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CVT_D64_S),
                   MVT::f64, 1, 1,
  0,
 67, TARGET_VAL(ISD::FP_EXTEND),
  OPC_RecordChild0,
  OPC_SwitchType , 53, MVT::f64,
   OPC_Scope, 40,
    OPC_CheckChild0Type, MVT::f32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 56,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D32_S),
                     MVT::f64, 1, 0,
    8,
     OPC_CheckPatternPredicate, 55,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D64_S),
                     MVT::f64, 1, 0,
    8,
     OPC_CheckPatternPredicate, 62,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D64_S_MM),
                     MVT::f64, 1, 0,
    8,
     OPC_CheckPatternPredicate, 66,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D32_S_MM),
                     MVT::f64, 1, 0,
    0,
   9,
    OPC_CheckChild0Type, MVT::f16,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSA_FP_EXTEND_D_PSEUDO),
                    MVT::f64, 1, 0,
   0,
  7, MVT::f32,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSA_FP_EXTEND_W_PSEUDO),
                   MVT::f32, 1, 0,
  0,
 26, TARGET_VAL(ISD::FMAXNUM_IEEE),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S),
                   MVT::f32, 2, 0, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_D),
                   MVT::f64, 2, 0, 1,
  0,
 26, TARGET_VAL(ISD::FMAXNUM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S),
                   MVT::f32, 2, 0, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_D),
                   MVT::f64, 2, 0, 1,
  0,
 26, TARGET_VAL(ISD::FMINNUM_IEEE),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S),
                   MVT::f32, 2, 0, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_D),
                   MVT::f64, 2, 0, 1,
  0,
 26, TARGET_VAL(ISD::FMINNUM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S),
                   MVT::f32, 2, 0, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_D),
                   MVT::f64, 2, 0, 1,
  0,
 25, TARGET_VAL(ISD::FCANONICALIZE),
  OPC_RecordChild0,
  OPC_SwitchType , 9, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S),
                   MVT::f32, 2, 0, 0,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_D),
                   MVT::f64, 2, 0, 0,
  0,
 84|128,2, TARGET_VAL(MipsISD::VSHF),
  OPC_Scope, 82,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 35,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_CheckChild1Same, 0,
    OPC_CheckChild2Same, 0,
    OPC_CheckChild3Same, 0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild2Same, 2,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_D),
                    MVT::v2i64, 2, 2, 0,
   35,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_CheckChild1Same, 1,
    OPC_CheckChild2Same, 1,
    OPC_CheckChild3Same, 1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild2Same, 2,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_D),
                    MVT::v2i64, 2, 2, 1,
   0,
  75,
   OPC_RecordChild0,
   OPC_SwitchType , 16, MVT::v16i8,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_RecordChild1,
    OPC_CheckChild2Same, 1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/28, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_B),
                    MVT::v16i8, 2, 1, 2,
   16, MVT::v8i16,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_CheckChild2Same, 1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/29, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_H),
                    MVT::v8i16, 2, 1, 2,
   16, MVT::v4i32,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_CheckChild2Same, 1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/30, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_W),
                    MVT::v4i32, 2, 1, 2,
   16, MVT::v2i64,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_RecordChild1,
    OPC_CheckChild2Same, 1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/31, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_D),
                    MVT::v2i64, 2, 1, 2,
   0,
  114,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_CheckChild1Same, 0,
   OPC_CheckChild2Same, 0,
   OPC_CheckChild3Same, 0,
   OPC_Scope, 82,
    OPC_MoveChild4,
    OPC_CheckSame, 0,
    OPC_MoveSibling5,
    OPC_CheckSame, 0,
    OPC_MoveSibling6,
    OPC_CheckSame, 0,
    OPC_MoveSibling7,
    OPC_CheckSame, 0,
    OPC_Scope, 49,
     OPC_MoveSibling, 8,
     OPC_CheckSame, 0,
     OPC_MoveSibling, 9,
     OPC_CheckSame, 0,
     OPC_MoveSibling, 10,
     OPC_CheckSame, 0,
     OPC_MoveSibling, 11,
     OPC_CheckSame, 0,
     OPC_MoveSibling, 12,
     OPC_CheckSame, 0,
     OPC_MoveSibling, 13,
     OPC_CheckSame, 0,
     OPC_MoveSibling, 14,
     OPC_CheckSame, 0,
     OPC_MoveSibling, 15,
     OPC_CheckSame, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild2Same, 1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_B),
                     MVT::v16i8, 2, 1, 0,
    17,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild2Same, 1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_H),
                     MVT::v8i16, 2, 1, 0,
    0,
   16,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild2Same, 1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_W),
                    MVT::v4i32, 2, 1, 0,
   0,
  63,
   OPC_RecordChild0,
   OPC_SwitchType , 13, MVT::v16i8,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_B),
                    MVT::v16i8, 3, 0, 1, 2,
   13, MVT::v8i16,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_H),
                    MVT::v8i16, 3, 0, 1, 2,
   13, MVT::v4i32,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_W),
                    MVT::v4i32, 3, 0, 1, 2,
   13, MVT::v2i64,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_D),
                    MVT::v2i64, 3, 0, 1, 2,
   0,
  0,
 108, TARGET_VAL(MipsISD::INSVE),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_Scope, 24,
   OPC_CheckPredicate, 14,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_B),
                   MVT::v16i8, 4, 0, 1, 2, 4,
  24,
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_H),
                   MVT::v8i16, 4, 0, 1, 2, 4,
  24,
   OPC_CheckPredicate, 21,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_W),
                   MVT::v4i32, 4, 0, 1, 2, 4,
  24,
   OPC_CheckPredicate, 25,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_D),
                   MVT::v2i64, 4, 0, 1, 2, 4,
  0,
 33|128,2, TARGET_VAL(ISD::VSELECT),
  OPC_RecordChild0,
  OPC_Scope, 32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/32, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_B),
                    MVT::v16i8, 3, 2, 1, 3,
   12, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/33, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_H),
                    MVT::v8i16, 3, 2, 1, 3,
   0,
  18,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat, /*CP*/34, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_W),
                   MVT::v4i32, 3, 2, 1, 3,
  18,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat, /*CP*/35, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_D),
                   MVT::v2i64, 3, 2, 1, 3,
  32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/36, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_B),
                    MVT::v16i8, 3, 2, 1, 3,
   12, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/37, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_H),
                    MVT::v8i16, 3, 2, 1, 3,
   0,
  18,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat, /*CP*/38, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_W),
                   MVT::v4i32, 3, 2, 1, 3,
  18,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat, /*CP*/39, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_D),
                   MVT::v2i64, 3, 2, 1, 3,
  81,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 64, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 22,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_Scope, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMNZI_B),
                      MVT::v16i8, 3, 2, 1, 3,
     8,
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMZI_B),
                      MVT::v16i8, 3, 1, 2, 3,
     0,
    10,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSELI_B),
                     MVT::v16i8, 3, 0, 2, 3,
    8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMNZ_V),
                     MVT::v16i8, 3, 2, 1, 0,
    8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMZ_V),
                     MVT::v16i8, 3, 1, 2, 0,
    8,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_V),
                     MVT::v16i8, 3, 0, 2, 1,
    0,
   9, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_H_PSEUDO),
                    MVT::v8i16, 3, 0, 2, 1,
   0,
  30,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 9, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_W_PSEUDO),
                    MVT::v4i32, 3, 0, 2, 1,
   10, 4|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_FW_PSEUDO),
                    4|128,1, 3, 0, 2, 1,
   0,
  30,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 9, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_D_PSEUDO),
                    MVT::v2i64, 3, 0, 2, 1,
   10, 22|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_FD_PSEUDO),
                    22|128,1, 3, 0, 2, 1,
   0,
  0,
 16|128,1, TARGET_VAL(ISD::SMAX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 33, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_B),
                    MVT::v16i8, 2, 0, 2,
   10,
    OPC_CheckComplexPat, /*CP*/13, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_B),
                    MVT::v16i8, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_B),
                    MVT::v16i8, 2, 0, 1,
   0,
  33, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat, /*CP*/14, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_H),
                    MVT::v8i16, 2, 0, 2,
   10,
    OPC_CheckComplexPat, /*CP*/14, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_H),
                    MVT::v8i16, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_H),
                    MVT::v8i16, 2, 0, 1,
   0,
  33, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_W),
                    MVT::v4i32, 2, 0, 2,
   10,
    OPC_CheckComplexPat, /*CP*/15, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_W),
                    MVT::v4i32, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_W),
                    MVT::v4i32, 2, 0, 1,
   0,
  33, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat, /*CP*/16, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_D),
                    MVT::v2i64, 2, 0, 2,
   10,
    OPC_CheckComplexPat, /*CP*/16, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_D),
                    MVT::v2i64, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  0,
 14|128,1, TARGET_VAL(ISD::UMAX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 33, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat, /*CP*/8, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_B),
                    MVT::v16i8, 2, 0, 2,
   10,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_B),
                    MVT::v16i8, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_B),
                    MVT::v16i8, 2, 0, 1,
   0,
  33, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat, /*CP*/9, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_H),
                    MVT::v8i16, 2, 0, 2,
   10,
    OPC_CheckComplexPat, /*CP*/9, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_H),
                    MVT::v8i16, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_H),
                    MVT::v8i16, 2, 0, 1,
   0,
  31, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 9,
    OPC_CheckComplexPat5, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_W),
                    MVT::v4i32, 2, 0, 2,
   9,
    OPC_CheckComplexPat5, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_W),
                    MVT::v4i32, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_W),
                    MVT::v4i32, 2, 0, 1,
   0,
  33, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat, /*CP*/10, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_D),
                    MVT::v2i64, 2, 0, 2,
   10,
    OPC_CheckComplexPat, /*CP*/10, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_D),
                    MVT::v2i64, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  0,
 16|128,1, TARGET_VAL(ISD::SMIN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 33, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_B),
                    MVT::v16i8, 2, 0, 2,
   10,
    OPC_CheckComplexPat, /*CP*/13, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_B),
                    MVT::v16i8, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_B),
                    MVT::v16i8, 2, 0, 1,
   0,
  33, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat, /*CP*/14, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_H),
                    MVT::v8i16, 2, 0, 2,
   10,
    OPC_CheckComplexPat, /*CP*/14, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_H),
                    MVT::v8i16, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_H),
                    MVT::v8i16, 2, 0, 1,
   0,
  33, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_W),
                    MVT::v4i32, 2, 0, 2,
   10,
    OPC_CheckComplexPat, /*CP*/15, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_W),
                    MVT::v4i32, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_W),
                    MVT::v4i32, 2, 0, 1,
   0,
  33, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat, /*CP*/16, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_D),
                    MVT::v2i64, 2, 0, 2,
   10,
    OPC_CheckComplexPat, /*CP*/16, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_D),
                    MVT::v2i64, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  0,
 14|128,1, TARGET_VAL(ISD::UMIN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 33, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat, /*CP*/8, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_B),
                    MVT::v16i8, 2, 0, 2,
   10,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_B),
                    MVT::v16i8, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_B),
                    MVT::v16i8, 2, 0, 1,
   0,
  33, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat, /*CP*/9, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_H),
                    MVT::v8i16, 2, 0, 2,
   10,
    OPC_CheckComplexPat, /*CP*/9, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_H),
                    MVT::v8i16, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_H),
                    MVT::v8i16, 2, 0, 1,
   0,
  31, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 9,
    OPC_CheckComplexPat5, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_W),
                    MVT::v4i32, 2, 0, 2,
   9,
    OPC_CheckComplexPat5, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_W),
                    MVT::v4i32, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_W),
                    MVT::v4i32, 2, 0, 1,
   0,
  33, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat, /*CP*/10, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_D),
                    MVT::v2i64, 2, 0, 2,
   10,
    OPC_CheckComplexPat, /*CP*/10, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_D),
                    MVT::v2i64, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  0,
 67, TARGET_VAL(MipsISD::VNOR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 31, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 9,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::NORI_B),
                    MVT::v16i8, 2, 0, 2,
   9,
    OPC_CheckComplexPat6, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::NORI_B),
                    MVT::v16i8, 2, 1, 2,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V),
                    MVT::v16i8, 2, 0, 1,
   0,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V_H_PSEUDO),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V_W_PSEUDO),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V_D_PSEUDO),
                   MVT::v2i64, 2, 0, 1,
  0,
 51|128,2, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 5|128,1,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_Scope, 54,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 15,
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_B),
                     MVT::v16i8, 3, 0, 1, 3,
    15,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_H),
                     MVT::v8i16, 3, 0, 1, 3,
    15,
     OPC_CheckPredicate, 21,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_W),
                     MVT::v4i32, 3, 0, 1, 3,
    0,
   36,
    OPC_CheckChild2TypeI32,
    OPC_SwitchType , 9, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_B_VIDX_PSEUDO),
                     MVT::v16i8, 3, 0, 2, 1,
    9, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_H_VIDX_PSEUDO),
                     MVT::v8i16, 3, 0, 2, 1,
    9, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_W_VIDX_PSEUDO),
                     MVT::v4i32, 3, 0, 2, 1,
    0,
   36,
    OPC_CheckChild2TypeI64,
    OPC_SwitchType , 9, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_B_VIDX64_PSEUDO),
                     MVT::v16i8, 3, 0, 2, 1,
    9, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_H_VIDX64_PSEUDO),
                     MVT::v8i16, 3, 0, 2, 1,
    9, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_W_VIDX64_PSEUDO),
                     MVT::v4i32, 3, 0, 2, 1,
    0,
   0,
  51,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_Scope, 20,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 59,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_D),
                    MVT::v2i64, 3, 0, 1, 3,
   12,
    OPC_CheckChild2TypeI32,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_D_VIDX_PSEUDO),
                    MVT::v2i64, 3, 0, 2, 1,
   12,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_D_VIDX64_PSEUDO),
                    MVT::v2i64, 3, 0, 2, 1,
   0,
  57,
   OPC_CheckChild1Type, MVT::f32,
   OPC_RecordChild2,
   OPC_Scope, 21,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 21,
    OPC_MoveParent,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FW_PSEUDO),
                    4|128,1, 3, 0, 3, 1,
   14,
    OPC_CheckChild2TypeI32,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FW_VIDX_PSEUDO),
                    4|128,1, 3, 0, 2, 1,
   14,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FW_VIDX64_PSEUDO),
                    4|128,1, 3, 0, 2, 1,
   0,
  57,
   OPC_CheckChild1Type, MVT::f64,
   OPC_RecordChild2,
   OPC_Scope, 21,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FD_PSEUDO),
                    22|128,1, 3, 0, 3, 1,
   14,
    OPC_CheckChild2TypeI32,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FD_VIDX_PSEUDO),
                    22|128,1, 3, 0, 2, 1,
   14,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FD_VIDX64_PSEUDO),
                    22|128,1, 3, 0, 2, 1,
   0,
  0,
 41, TARGET_VAL(MipsISD::SHF),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckPredicate, 46,
  OPC_MoveParent,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHF_B),
                   MVT::v16i8, 2, 1, 0,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHF_H),
                   MVT::v8i16, 2, 1, 0,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHF_W),
                   MVT::v4i32, 2, 1, 0,
  0,
 31, TARGET_VAL(MipsISD::SHLL_DSP),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_SwitchType , 9, MVT::v2i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHLL_PH),
                   MVT::v2i16, 2, 0, 2,
  9, MVT::v4i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHLL_QB),
                   MVT::v4i8, 2, 0, 2,
  0,
 32, TARGET_VAL(MipsISD::SHRA_DSP),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_SwitchType , 9, MVT::v2i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_PH),
                   MVT::v2i16, 2, 0, 2,
  10, MVT::v4i8,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_QB),
                   MVT::v4i8, 2, 0, 2,
  0,
 32, TARGET_VAL(MipsISD::SHRL_DSP),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_SwitchType , 10, MVT::v2i16,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_PH),
                   MVT::v2i16, 2, 0, 2,
  9, MVT::v4i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_QB),
                   MVT::v4i8, 2, 0, 2,
  0,
 14|128,1, TARGET_VAL(ISD::BUILD_VECTOR),
  OPC_RecordChild0,
  OPC_Scope, 88,
   OPC_CheckChild0TypeI32,
   OPC_CheckChild1Same, 0,
   OPC_CheckChild2Same, 0,
   OPC_CheckChild3Same, 0,
   OPC_Scope, 68,
    OPC_MoveChild4,
    OPC_CheckSame, 0,
    OPC_MoveSibling5,
    OPC_CheckSame, 0,
    OPC_MoveSibling6,
    OPC_CheckSame, 0,
    OPC_MoveSibling7,
    OPC_CheckSame, 0,
    OPC_Scope, 42,
     OPC_MoveSibling, 8,
     OPC_CheckSame, 0,
     OPC_MoveSibling, 9,
     OPC_CheckSame, 0,
     OPC_MoveSibling, 10,
     OPC_CheckSame, 0,
     OPC_MoveSibling, 11,
     OPC_CheckSame, 0,
     OPC_MoveSibling, 12,
     OPC_CheckSame, 0,
     OPC_MoveSibling, 13,
     OPC_CheckSame, 0,
     OPC_MoveSibling, 14,
     OPC_CheckSame, 0,
     OPC_MoveSibling, 15,
     OPC_CheckSame, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_B),
                     MVT::v16i8, 1, 0,
    10,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_H),
                     MVT::v8i16, 1, 0,
    0,
   9,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_W),
                    MVT::v4i32, 1, 0,
   0,
  13,
   OPC_CheckChild0TypeI64,
   OPC_CheckChild1Same, 0,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 59,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_D),
                   MVT::v2i64, 1, 0,
  19,
   OPC_CheckChild0Type, MVT::f32,
   OPC_CheckChild1Same, 0,
   OPC_CheckChild2Same, 0,
   OPC_CheckChild3Same, 0,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_FW_PSEUDO),
                   4|128,1, 1, 0,
  15,
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckChild1Same, 0,
   OPC_CheckType, 22|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_FD_PSEUDO),
                   22|128,1, 1, 0,
  0,
 21, TARGET_VAL(ISD::FP_TO_SINT),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_S_W),
                   MVT::v4i32, 1, 0,
  7, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_S_D),
                   MVT::v2i64, 1, 0,
  0,
 21, TARGET_VAL(ISD::FP_TO_UINT),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_U_W),
                   MVT::v4i32, 1, 0,
  7, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_U_D),
                   MVT::v2i64, 1, 0,
  0,
 44, TARGET_VAL(MipsISD::ILVEV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_D),
                   MVT::v2i64, 2, 0, 1,
  0,
 44, TARGET_VAL(MipsISD::ILVL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_D),
                   MVT::v2i64, 2, 0, 1,
  0,
 44, TARGET_VAL(MipsISD::ILVOD),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_D),
                   MVT::v2i64, 2, 0, 1,
  0,
 44, TARGET_VAL(MipsISD::ILVR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_D),
                   MVT::v2i64, 2, 0, 1,
  0,
 44, TARGET_VAL(MipsISD::PCKEV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_D),
                   MVT::v2i64, 2, 0, 1,
  0,
 44, TARGET_VAL(MipsISD::PCKOD),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_D),
                   MVT::v2i64, 2, 0, 1,
  0,
 31|128,2, TARGET_VAL(MipsISD::SELECT_CC_DSP),
  OPC_RecordChild0,
  OPC_Scope, 12|128,1,
   OPC_CheckChild0Type, MVT::v2i16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild4,
   OPC_Scope, 21,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
                    MVT::v2i16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
                    MVT::v2i16, 3, 4, 2, 3,
   21,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
                    MVT::v2i16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
                    MVT::v2i16, 3, 4, 2, 3,
   21,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
                    MVT::v2i16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
                    MVT::v2i16, 3, 4, 2, 3,
   21,
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
                    MVT::v2i16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
                    MVT::v2i16, 3, 4, 3, 2,
   21,
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
                    MVT::v2i16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
                    MVT::v2i16, 3, 4, 3, 2,
   21,
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
                    MVT::v2i16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
                    MVT::v2i16, 3, 4, 3, 2,
   0,
  12|128,1,
   OPC_CheckChild0Type, MVT::v4i8,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild4,
   OPC_Scope, 21,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
                    MVT::v4i8, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
                    MVT::v4i8, 3, 4, 2, 3,
   21,
    OPC_CheckCondCode, ISD::SETULT,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
                    MVT::v4i8, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
                    MVT::v4i8, 3, 4, 2, 3,
   21,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
                    MVT::v4i8, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
                    MVT::v4i8, 3, 4, 2, 3,
   21,
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
                    MVT::v4i8, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
                    MVT::v4i8, 3, 4, 3, 2,
   21,
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
                    MVT::v4i8, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
                    MVT::v4i8, 3, 4, 3, 2,
   21,
    OPC_CheckCondCode, ISD::SETUGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
                    MVT::v4i8, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
                    MVT::v4i8, 3, 4, 3, 2,
   0,
  0,
 11|128,4, TARGET_VAL(MipsISD::SETCC_DSP),
  OPC_RecordChild0,
  OPC_SwitchType , 1|128,2, MVT::v2i16,
   OPC_CheckChild0Type, MVT::v2i16,
   OPC_RecordChild1,
   OPC_Scope, 41,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
                    MVT::v2i16, 2, 0, 1,
    OPC_EmitRegisterI32, Mips::ZERO,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
                    MVT::i32, 2, 3, 4,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i16, 2, 5, 6,
    OPC_EmitRegister, MVT::v2i16,Mips::ZERO,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
                    MVT::v2i16, 3, 2, 7, 8,
   41,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
                    MVT::v2i16, 2, 0, 1,
    OPC_EmitRegisterI32, Mips::ZERO,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
                    MVT::i32, 2, 3, 4,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i16, 2, 5, 6,
    OPC_EmitRegister, MVT::v2i16,Mips::ZERO,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
                    MVT::v2i16, 3, 2, 7, 8,
   41,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
                    MVT::v2i16, 2, 0, 1,
    OPC_EmitRegisterI32, Mips::ZERO,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
                    MVT::i32, 2, 3, 4,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i16, 2, 5, 6,
    OPC_EmitRegister, MVT::v2i16,Mips::ZERO,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
                    MVT::v2i16, 3, 2, 7, 8,
   41,
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
                    MVT::v2i16, 2, 0, 1,
    OPC_EmitRegister, MVT::v2i16,Mips::ZERO,
    OPC_EmitRegisterI32, Mips::ZERO,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
                    MVT::i32, 2, 4, 5,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i16, 2, 6, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
                    MVT::v2i16, 3, 2, 3, 8,
   41,
    OPC_CheckChild2CondCode, ISD::SETGE,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
                    MVT::v2i16, 2, 0, 1,
    OPC_EmitRegister, MVT::v2i16,Mips::ZERO,
    OPC_EmitRegisterI32, Mips::ZERO,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
                    MVT::i32, 2, 4, 5,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i16, 2, 6, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
                    MVT::v2i16, 3, 2, 3, 8,
   41,
    OPC_CheckChild2CondCode, ISD::SETGT,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
                    MVT::v2i16, 2, 0, 1,
    OPC_EmitRegister, MVT::v2i16,Mips::ZERO,
    OPC_EmitRegisterI32, Mips::ZERO,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
                    MVT::i32, 2, 4, 5,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i16, 2, 6, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
                    MVT::v2i16, 3, 2, 3, 8,
   0,
  1|128,2, MVT::v4i8,
   OPC_CheckChild0Type, MVT::v4i8,
   OPC_RecordChild1,
   OPC_Scope, 41,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
                    MVT::v4i8, 2, 0, 1,
    OPC_EmitRegisterI32, Mips::ZERO,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
                    MVT::i32, 2, 3, 4,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i8, 2, 5, 6,
    OPC_EmitRegister, MVT::v4i8,Mips::ZERO,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
                    MVT::v4i8, 3, 2, 7, 8,
   41,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
                    MVT::v4i8, 2, 0, 1,
    OPC_EmitRegisterI32, Mips::ZERO,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
                    MVT::i32, 2, 3, 4,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i8, 2, 5, 6,
    OPC_EmitRegister, MVT::v4i8,Mips::ZERO,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
                    MVT::v4i8, 3, 2, 7, 8,
   41,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
                    MVT::v4i8, 2, 0, 1,
    OPC_EmitRegisterI32, Mips::ZERO,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
                    MVT::i32, 2, 3, 4,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i8, 2, 5, 6,
    OPC_EmitRegister, MVT::v4i8,Mips::ZERO,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
                    MVT::v4i8, 3, 2, 7, 8,
   41,
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
                    MVT::v4i8, 2, 0, 1,
    OPC_EmitRegister, MVT::v4i8,Mips::ZERO,
    OPC_EmitRegisterI32, Mips::ZERO,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
                    MVT::i32, 2, 4, 5,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i8, 2, 6, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
                    MVT::v4i8, 3, 2, 3, 8,
   41,
    OPC_CheckChild2CondCode, ISD::SETUGE,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
                    MVT::v4i8, 2, 0, 1,
    OPC_EmitRegister, MVT::v4i8,Mips::ZERO,
    OPC_EmitRegisterI32, Mips::ZERO,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
                    MVT::i32, 2, 4, 5,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i8, 2, 6, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
                    MVT::v4i8, 3, 2, 3, 8,
   41,
    OPC_CheckChild2CondCode, ISD::SETUGT,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
                    MVT::v4i8, 2, 0, 1,
    OPC_EmitRegister, MVT::v4i8,Mips::ZERO,
    OPC_EmitRegisterI32, Mips::ZERO,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
                    MVT::i32, 2, 4, 5,
    OPC_EmitIntegerI32, Mips::DSPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i8, 2, 6, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
                    MVT::v4i8, 3, 2, 3, 8,
   0,
  0,
 29, TARGET_VAL(ISD::UINT_TO_FP),
  OPC_RecordChild0,
  OPC_SwitchType , 10, 4|128,1,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_U_W),
                   4|128,1, 1, 0,
  10, 22|128,1,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_U_D),
                   22|128,1, 1, 0,
  0,
 25, TARGET_VAL(ISD::FLOG2),
  OPC_RecordChild0,
  OPC_SwitchType , 8, 4|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FLOG2_W),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FLOG2_D),
                   22|128,1, 1, 0,
  0,
 31, TARGET_VAL(ISD::FMA),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, 4|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_W),
                   4|128,1, 3, 0, 1, 2,
  10, 22|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_D),
                   22|128,1, 3, 0, 1, 2,
  0,
 31, TARGET_VAL(MipsISD::FMS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, 4|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_W),
                   4|128,1, 3, 0, 1, 2,
  10, 22|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_D),
                   22|128,1, 3, 0, 1, 2,
  0,
 25, TARGET_VAL(ISD::FRINT),
  OPC_RecordChild0,
  OPC_SwitchType , 8, 4|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRINT_W),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRINT_D),
                   22|128,1, 1, 0,
  0,
 25, TARGET_VAL(ISD::FEXP2),
  OPC_RecordChild0,
  OPC_SwitchType , 8, 4|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_W_1_PSEUDO),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_D_1_PSEUDO),
                   22|128,1, 1, 0,
  0,
 0,
    0
  }; // Total Array size is 51467 bytes

  #undef COVERAGE_IDX_VAL
  #undef TARGET_VAL
  SelectCodeCommon(N, MatcherTable, sizeof(MatcherTable));
}
#endif // GET_DAGISEL_BODY

#ifdef GET_DAGISEL_DECL
bool CheckPatternPredicate(unsigned PredNo) const override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
#if DAGISEL_INLINE
  override
#endif
{
  switch (PredNo) {
  default: llvm_unreachable("Invalid predicate in table?");
  case 0: return (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding());
  case 1: return (Subtarget->hasDSP());
  case 2: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
  case 3: return (Subtarget->hasMSA());
  case 4: return (Subtarget->inMicroMipsMode());
  case 5: return (Subtarget->inMips16Mode());
  case 6: return (Subtarget->hasDSP()) && (Subtarget->inMicroMipsMode());
  case 7: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6());
  case 8: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode());
  case 9: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit());
  case 10: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 11: return (!Subtarget->inMips16Mode());
  case 12: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->hasSym32()) && (!Subtarget->inMicroMipsMode());
  case 13: return (Subtarget->hasDSPR2());
  case 14: return (Subtarget->hasDSPR2()) && (Subtarget->inMicroMipsMode());
  case 15: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
  case 16: return (Subtarget->hasMSA()) && (!Subtarget->isLittle());
  case 17: return (Subtarget->hasMSA()) && (Subtarget->isLittle());
  case 18: return (Subtarget->isGP64bit()) && (!Subtarget->inMips16Mode());
  case 19: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding());
  case 20: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 21: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 22: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 23: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 24: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 25: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (Subtarget->hasSym32()) && (!Subtarget->inMicroMipsMode());
  case 26: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
  case 27: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat());
  case 28: return (Subtarget->hasCnMips());
  case 29: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->useCompactBranches());
  case 30: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->useCompactBranches());
  case 31: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
  case 32: return (Subtarget->inMicroMipsMode()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
  case 33: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 34: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
  case 35: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
  case 36: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 37: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 38: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 39: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 40: return (!Subtarget->disableMadd4()) && (Subtarget->inMicroMipsMode()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->hasMips32r6());
  case 41: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 42: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 43: return (!Subtarget->disableMadd4()) && (Subtarget->inMicroMipsMode()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
  case 44: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 45: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6());
  case 46: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat());
  case 47: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit());
  case 48: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat());
  case 49: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips4_32());
  case 50: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
  case 51: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6());
  case 52: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
  case 53: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
  case 54: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 55: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
  case 56: return (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
  case 57: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding());
  case 58: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
  case 59: return (Subtarget->hasMSA()) && (Subtarget->hasMips64()) && (Subtarget->hasStandardEncoding());
  case 60: return (TM.Options.AllowFPOpFusion == FPOpFusion::Fast) && (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding());
  case 61: return (Subtarget->isFP64bit());
  case 62: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit());
  case 63: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
  case 64: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64());
  case 65: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 66: return (Subtarget->inMicroMipsMode()) && (!Subtarget->isFP64bit());
  case 67: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
  case 68: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
  case 69: return (Subtarget->hasEVA()) && (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6());
  case 70: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 71: return (Subtarget->hasMSA()) && (Subtarget->isGP64bit());
  case 72: return (Subtarget->hasStandardEncoding());
  case 73: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 74: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 75: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 76: return (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips4_32());
  case 77: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->hasMips4_32());
  case 78: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (!Subtarget->inMicroMipsMode());
  case 79: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 80: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit());
  case 81: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit());
  case 82: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 83: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 84: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 85: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 86: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasCnMips()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 87: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasCnMips()) && (!Subtarget->inMicroMipsMode());
  case 88: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat());
  case 89: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding());
  case 90: return (Subtarget->hasMips64()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips64r6());
  case 91: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 92: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP());
  case 93: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->hasDSP()) && (!Subtarget->inMicroMipsMode());
  case 94: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 95: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
  case 96: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
  case 97: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
  case 98: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
  case 99: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
  case 100: return (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMips16Mode());
  case 101: return (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMips16Mode());
  case 102: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit());
  case 103: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
  case 104: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 105: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 106: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 107: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
  case 108: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 109: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (Subtarget->isGP64bit());
  case 110: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
  case 111: return (!Subtarget->isFP64bit());
  case 112: return (Subtarget->hasDSP()) && (!Subtarget->inMicroMipsMode());
  case 113: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
  case 114: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
  case 115: return (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
  case 116: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
  case 117: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding());
  case 118: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode());
  case 119: return (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
  case 120: return (Subtarget->isABI_N64()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMips16Mode());
  case 121: return (Subtarget->isABI_N64()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
  case 122: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
  case 123: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 124: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 125: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 126: return (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 127: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
  case 128: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 129: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
  case 130: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!TM.isPositionIndependent());
  case 131: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!TM.isPositionIndependent());
  case 132: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (TM.isPositionIndependent());
  case 133: return (Subtarget->hasDSP()) && (!Subtarget->inMips16Mode());
  case 134: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding());
  case 135: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat());
  case 136: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
  case 137: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
  case 138: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
  case 139: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
  case 140: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
  case 141: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
  case 142: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit());
  }
}
#endif // GET_DAGISEL_BODY

#ifdef GET_DAGISEL_DECL
bool CheckNodePredicate(SDValue Op, unsigned PredNo) const override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDValue Op, unsigned PredNo) const
#if DAGISEL_INLINE
  override
#endif
{
  switch (PredNo) {
  default: llvm_unreachable("Invalid predicate in table?");
  case 0: {
    // Predicate_immi32Cst7
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<32>(Imm) && Imm == 7;
  }
  case 1: {
    // Predicate_immi32Cst15
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<32>(Imm) && Imm == 15;
  }
  case 2: {
    // Predicate_immi32Cst31
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<32>(Imm) && Imm == 31;
  }
  case 3: {
    // Predicate_immZExt5
    // Predicate_timmZExt5
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return Imm == (Imm & 0x1f);
  }
  case 4: {
    // Predicate_atomic_cmp_swap_i16
    // Predicate_atomic_load_add_i16
    // Predicate_atomic_load_aext_16
    // Predicate_atomic_load_and_i16
    // Predicate_atomic_load_max_i16
    // Predicate_atomic_load_min_i16
    // Predicate_atomic_load_nand_i16
    // Predicate_atomic_load_or_i16
    // Predicate_atomic_load_sext_16
    // Predicate_atomic_load_sub_i16
    // Predicate_atomic_load_umax_i16
    // Predicate_atomic_load_umin_i16
    // Predicate_atomic_load_xor_i16
    // Predicate_atomic_store_16
    // Predicate_atomic_swap_i16
    // Predicate_extloadi16
    // Predicate_sextloadi16
    // Predicate_truncstorei16
    // Predicate_zextloadi16
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
return true;

  }
  case 5: {
    // Predicate_atomic_cmp_swap_i8
    // Predicate_atomic_load_add_i8
    // Predicate_atomic_load_aext_8
    // Predicate_atomic_load_and_i8
    // Predicate_atomic_load_max_i8
    // Predicate_atomic_load_min_i8
    // Predicate_atomic_load_nand_i8
    // Predicate_atomic_load_or_i8
    // Predicate_atomic_load_sext_8
    // Predicate_atomic_load_sub_i8
    // Predicate_atomic_load_umax_i8
    // Predicate_atomic_load_umin_i8
    // Predicate_atomic_load_xor_i8
    // Predicate_atomic_store_8
    // Predicate_atomic_swap_i8
    // Predicate_extloadi8
    // Predicate_sextloadi8
    // Predicate_truncstorei8
    // Predicate_zextloadi8
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
return true;

  }
  case 6: {
    // Predicate_immz
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return N->getSExtValue() == 0; 
  }
  case 7: {
    // Predicate_immSExt16
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isInt<16>(N->getSExtValue()); 
  }
  case 8: {
    // Predicate_atomic_cmp_swap_i32
    // Predicate_atomic_load_add_i32
    // Predicate_atomic_load_aext_32
    // Predicate_atomic_load_and_i32
    // Predicate_atomic_load_max_i32
    // Predicate_atomic_load_min_i32
    // Predicate_atomic_load_nand_i32
    // Predicate_atomic_load_nonext_32
    // Predicate_atomic_load_or_i32
    // Predicate_atomic_load_sext_32
    // Predicate_atomic_load_sub_i32
    // Predicate_atomic_load_umax_i32
    // Predicate_atomic_load_umin_i32
    // Predicate_atomic_load_xor_i32
    // Predicate_atomic_store_32
    // Predicate_atomic_swap_i32
    // Predicate_extloadi32
    // Predicate_sextloadi32
    // Predicate_truncstorei32
    // Predicate_zextloadi32
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
return true;

  }
  case 9: {
    // Predicate_store
    SDNode *N = Op.getNode();
    (void)N;
 if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
return true;

  }
  case 10: {
    // Predicate_immSExt16Plus1
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  return isInt<17>(N->getSExtValue()) && isInt<16>(N->getSExtValue() + 1);

  }
  case 11: {
    // Predicate_immZExt16
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  if (N->getValueType(0) == MVT::i32)
    return (uint32_t)N->getZExtValue() == (unsigned short)N->getZExtValue();
  else
    return (uint64_t)N->getZExtValue() == (unsigned short)N->getZExtValue();

  }
  case 12: {
    // Predicate_unindexedstore
    SDNode *N = Op.getNode();
    (void)N;
if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
return true;

  }
  case 13: {
    // Predicate_vsplati64_imm_eq_63
    SDNode *N = Op.getNode();
    (void)N;

  APInt Imm;
  SDNode *BV = N->getOperand(0).getNode();
  EVT EltTy = N->getValueType(0).getVectorElementType();

  return selectVSplat(BV, Imm, EltTy.getSizeInBits()) &&
         Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 63;

  }
  case 14: {
    // Predicate_immZExt4
    // Predicate_immZExt4Ptr
    // Predicate_timmZExt4
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<4>(Imm);
  }
  case 15: {
    // Predicate_immZExt6
    // Predicate_timmZExt6
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return Imm == (Imm & 0x3f);
  }
  case 16: {
    // Predicate_atomic_cmp_swap_i64
    // Predicate_atomic_load_add_i64
    // Predicate_atomic_load_and_i64
    // Predicate_atomic_load_max_i64
    // Predicate_atomic_load_min_i64
    // Predicate_atomic_load_nand_i64
    // Predicate_atomic_load_nonext_64
    // Predicate_atomic_load_or_i64
    // Predicate_atomic_load_sub_i64
    // Predicate_atomic_load_umax_i64
    // Predicate_atomic_load_umin_i64
    // Predicate_atomic_load_xor_i64
    // Predicate_atomic_store_64
    // Predicate_atomic_swap_i64
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i64) return false;
return true;

  }
  case 17: {
    // Predicate_immZExt3
    // Predicate_immZExt3Ptr
    // Predicate_timmZExt3
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<3>(Imm);
  }
  case 18: {
    // Predicate_zext_nneg
    SDNode *N = Op.getNode();
    (void)N;

  return N->getFlags().hasNonNeg();

  }
  case 19: {
    // Predicate_sextload
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) return false;
return true;

  }
  case 20: {
    // Predicate_zextload
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
return true;

  }
  case 21: {
    // Predicate_immZExt2
    // Predicate_immZExt2Ptr
    // Predicate_timmZExt2
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<2>(Imm);
  }
  case 22: {
    // Predicate_load
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
return true;

  }
  case 23: {
    // Predicate_shiftMask_32
    SDNode *N = Op.getNode();
    (void)N;

  return isUnneededShiftMask(N, 5);

  }
  case 24: {
    // Predicate_shiftMask_64
    SDNode *N = Op.getNode();
    (void)N;

  return isUnneededShiftMask(N, 6);

  }
  case 25: {
    // Predicate_immZExt1Ptr
    // Predicate_timmZExt1
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<1>(Imm);
  }
  case 26: {
    // Predicate_atomic_load_aext
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
return true;

  }
  case 27: {
    // Predicate_atomic_load_sext
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) return false;
return true;

  }
  case 28: {
    // Predicate_unindexedload
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
return true;

  }
  case 29: {
    // Predicate_truncstore
    SDNode *N = Op.getNode();
    (void)N;
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
return true;

  }
  case 30: {
    // Predicate_extload
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
return true;

  }
  case 31: {
    // Predicate_immZExt5_64
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm == (Imm & 0x1f); 
  }
  case 32: {
    // Predicate_extloadi1
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i1) return false;
return true;

  }
  case 33: {
    // Predicate_imm32ZExt16
    const APInt & Imm = Op->getAsAPIntVal();

  return (uint32_t)Imm.getZExtValue() == (unsigned short)Imm.getZExtValue();

  }
  case 34: {
    // Predicate_immZExt5Plus1
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  return isUInt<5>(N->getZExtValue() - 1);

  }
  case 35: {
    // Predicate_atomic_load_nonext
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
return true;

  }
  case 36: {
    // Predicate_LUiPred
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  int64_t Val = N->getSExtValue();
  return !isInt<16>(Val) && isInt<32>(Val) && !(Val & 0xffff);

  }
  case 37: {
    // Predicate_ORiPred
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  return isUInt<16>(N->getZExtValue()) && !isInt<16>(N->getSExtValue());

  }
  case 38: {
    // Predicate_fpimm0
    auto *N = cast<ConstantFPSDNode>(Op.getNode());
    (void)N;

  return N->isExactlyValue(+0.0);

  }
  case 39: {
    // Predicate_PowerOf2LO
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  if (N->getValueType(0) == MVT::i64) {
    uint64_t Imm = N->getZExtValue();
    return isPowerOf2_64(Imm) && (Imm & 0xffffffff) == Imm;
  }
  else
    return false;

  }
  case 40: {
    // Predicate_PowerOf2HI
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  if (N->getValueType(0) == MVT::i64) {
    uint64_t Imm = N->getZExtValue();
    return isPowerOf2_64(Imm) && (Imm & 0xffffffff00000000) == Imm;
  }
  else
    return false;

  }
  case 41: {
    // Predicate_immZExtAndi16
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return (Imm == 128 || (Imm >= 1 && Imm <= 4) || Imm == 7 || Imm == 8 ||
            Imm == 15 || Imm == 16 || Imm == 31 || Imm == 32 || Imm == 63 ||
            Imm == 64 || Imm == 255 || Imm == 32768 || Imm == 65535 );
  }
  case 42: {
    // Predicate_immZExt2Shift
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return Imm >= 1 && Imm <= 8;
  }
  case 43: {
    // Predicate_immZExt5Plus32
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  return isUInt<5>(N->getZExtValue() - 32);

  }
  case 44: {
    // Predicate_timmZExt10
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<10>(Imm);
  }
  case 45: {
    // Predicate_timmZExt7
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isUInt<7>(N->getZExtValue()); 
  }
  case 46: {
    // Predicate_immZExt8
    // Predicate_timmZExt8
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<8>(Imm);
  }
  case 47: {
    // Predicate_immZExt2Lsa
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<2>(Imm - 1);
  }
  case 48: {
    // Predicate_LUiORiPred
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  int64_t SVal = N->getSExtValue();
  return isInt<32>(SVal) && (SVal & 0xffff);

  }
  case 49: {
    // Predicate_PowerOf2LO_i32
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  if (N->getValueType(0) == MVT::i32) {
    uint64_t Imm = N->getZExtValue();
    return isPowerOf2_32(Imm) && isUInt<32>(Imm);
  }
  else
    return false;

  }
  case 50: {
    // Predicate_immZExt16_64
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isUInt<16>(N->getZExtValue()); 
  }
  case 51: {
    // Predicate_immZExt5Plus33
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  return isUInt<5>(N->getZExtValue() - 33);

  }
  case 52: {
    // Predicate_immSExt10
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isInt<10>(Imm);
  }
  case 53: {
    // Predicate_immSExt10_64
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isInt<10>(N->getSExtValue()); 
  }
  case 54: {
    // Predicate_imm32SExt16
    const APInt & Imm = Op->getAsAPIntVal();
 return isInt<16>(Imm.getSExtValue()); 
  }
  case 55: {
    // Predicate_immSExt8
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isInt<8>(N->getSExtValue()); 
  }
  case 56: {
    // Predicate_immSExtAddiur2
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return Imm == 1 || Imm == -1 ||
                                           ((Imm % 4 == 0) &&
                                            Imm < 28 && Imm > 0);
  }
  case 57: {
    // Predicate_immSExtAddius5
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return Imm >= -8 && Imm <= 7;
  }
  case 58: {
    // Predicate_assertzext_lt_i32
    SDNode *N = Op.getNode();
    (void)N;

  return cast<VTSDNode>(N->getOperand(1))->getVT().bitsLT(MVT::i32);

  }
  case 59: {
    // Predicate_immSExt6
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isInt<6>(Imm);
  }
  case 60: {
    // Predicate_immLi16
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return Imm >= -1 && Imm <= 126;
  }
  case 61: {
    // Predicate_immZExt32Low16Zero
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  uint64_t Val = N->getZExtValue();
  return isUInt<32>(Val) && !(Val & 0xffff);

  }
  case 62: {
    // Predicate_immZExt32
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isUInt<32>(N->getZExtValue()); 
  }
  case 63: {
    // Predicate_fpimm0neg
    auto *N = cast<ConstantFPSDNode>(Op.getNode());
    (void)N;

  return N->isExactlyValue(-0.0);

  }
  }
}
#endif // GET_DAGISEL_BODY

#ifdef GET_DAGISEL_DECL
bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
      SDValue N, unsigned PatternNo,
      SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
      SDValue N, unsigned PatternNo,
      SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
#if DAGISEL_INLINE
  override
#endif
{
  unsigned NextRes = Result.size();
  switch (PatternNo) {
  default: llvm_unreachable("Invalid pattern # in table?");
  case 0:
    Result.resize(NextRes+2);
  return selectIntAddr(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 1:
    Result.resize(NextRes+0);
  return selectVSplatImmEq1(N);
  case 2:
    Result.resize(NextRes+2);
  return selectAddrDefault(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 3:
    Result.resize(NextRes+2);
  return selectAddrRegImm(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 4:
    Result.resize(NextRes+1);
  return selectVSplatUimmPow2(N, Result[NextRes+0].first);
  case 5:
    Result.resize(NextRes+1);
  return selectVSplatUimm<5>(N, Result[NextRes+0].first);
  case 6:
    Result.resize(NextRes+1);
  return selectVSplatUimm<8>(N, Result[NextRes+0].first);
  case 7:
    Result.resize(NextRes+2);
  return selectIntAddr12MM(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 8:
    Result.resize(NextRes+1);
  return selectVSplatUimm<5>(N, Result[NextRes+0].first);
  case 9:
    Result.resize(NextRes+1);
  return selectVSplatUimm<5>(N, Result[NextRes+0].first);
  case 10:
    Result.resize(NextRes+1);
  return selectVSplatUimm<5>(N, Result[NextRes+0].first);
  case 11:
    Result.resize(NextRes+2);
  return selectAddr16(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 12:
    Result.resize(NextRes+1);
  return selectVSplatUimmInvPow2(N, Result[NextRes+0].first);
  case 13:
    Result.resize(NextRes+1);
  return selectVSplatSimm<5>(N, Result[NextRes+0].first);
  case 14:
    Result.resize(NextRes+1);
  return selectVSplatSimm<5>(N, Result[NextRes+0].first);
  case 15:
    Result.resize(NextRes+1);
  return selectVSplatSimm<5>(N, Result[NextRes+0].first);
  case 16:
    Result.resize(NextRes+1);
  return selectVSplatSimm<5>(N, Result[NextRes+0].first);
  case 17:
    Result.resize(NextRes+2);
  return selectIntAddrSImm10(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 18:
    Result.resize(NextRes+2);
  return selectIntAddrSImm10Lsl1(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 19:
    Result.resize(NextRes+2);
  return selectIntAddrSImm10Lsl2(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 20:
    Result.resize(NextRes+2);
  return selectIntAddrSImm10Lsl3(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 21:
    Result.resize(NextRes+2);
  return selectAddr16SP(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 22:
    Result.resize(NextRes+2);
  return selectIntAddrLSL2MM(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 23:
    Result.resize(NextRes+1);
  return selectVSplatUimm<3>(N, Result[NextRes+0].first);
  case 24:
    Result.resize(NextRes+1);
  return selectVSplatUimm<4>(N, Result[NextRes+0].first);
  case 25:
    Result.resize(NextRes+1);
  return selectVSplatUimm<6>(N, Result[NextRes+0].first);
  case 26:
    Result.resize(NextRes+2);
  return selectIntAddr11MM(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 27:
    Result.resize(NextRes+2);
  return selectIntAddr16MM(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 28:
    Result.resize(NextRes+1);
  return selectVSplatUimm<4>(N, Result[NextRes+0].first);
  case 29:
    Result.resize(NextRes+1);
  return selectVSplatUimm<3>(N, Result[NextRes+0].first);
  case 30:
    Result.resize(NextRes+1);
  return selectVSplatUimm<2>(N, Result[NextRes+0].first);
  case 31:
    Result.resize(NextRes+1);
  return selectVSplatUimm<1>(N, Result[NextRes+0].first);
  case 32:
    Result.resize(NextRes+1);
  return selectVSplatMaskL(N, Result[NextRes+0].first);
  case 33:
    Result.resize(NextRes+1);
  return selectVSplatMaskL(N, Result[NextRes+0].first);
  case 34:
    Result.resize(NextRes+1);
  return selectVSplatMaskL(N, Result[NextRes+0].first);
  case 35:
    Result.resize(NextRes+1);
  return selectVSplatMaskL(N, Result[NextRes+0].first);
  case 36:
    Result.resize(NextRes+1);
  return selectVSplatMaskR(N, Result[NextRes+0].first);
  case 37:
    Result.resize(NextRes+1);
  return selectVSplatMaskR(N, Result[NextRes+0].first);
  case 38:
    Result.resize(NextRes+1);
  return selectVSplatMaskR(N, Result[NextRes+0].first);
  case 39:
    Result.resize(NextRes+1);
  return selectVSplatMaskR(N, Result[NextRes+0].first);
  }
}
#endif // GET_DAGISEL_BODY

#ifdef GET_DAGISEL_DECL
SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
#if DAGISEL_INLINE
  override
#endif
{
  switch (XFormNo) {
  default: llvm_unreachable("Invalid xform # in table?");
  case 0: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  return getImm(N, Log2_64((unsigned) N->getZExtValue()));

  }
  case 1: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  return getImm(N, Log2_64((unsigned) (N->getZExtValue() >> 32)));

  }
  case 2: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  return getSignedImm(N, N->getSExtValue() + 1);

  }
  case 3: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  return getImm(N, N->getZExtValue() & 0xFFFF);

  }
  case 4: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  return getImm(N, 31 - N->getZExtValue());

  }
  case 5: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  return getImm(N, (N->getZExtValue() >> 16) & 0xFFFF);

  }
  case 6: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  unsigned Check = N->getZExtValue();
  unsigned Mask = 0;
  if (Check & fcSNan)
    Mask |= Mips::FClassMaskSignalingNaN;
  if (Check & fcQNan)
    Mask |= Mips::FClassMaskQuietNaN;
  if (Check & fcPosInf)
    Mask |= Mips::FClassMaskPositiveInfinity;
  if (Check & fcNegInf)
    Mask |= Mips::FClassMaskNegativeInfinity;
  if (Check & fcPosNormal)
    Mask |= Mips::FClassMaskPositiveNormal;
  if (Check & fcNegNormal)
    Mask |= Mips::FClassMaskNegativeNormal;
  if (Check & fcPosSubnormal)
    Mask |= Mips::FClassMaskPositiveSubnormal;
  if (Check & fcNegSubnormal)
    Mask |= Mips::FClassMaskNegativeSubnormal;
  if (Check & fcPosZero)
    Mask |= Mips::FClassMaskPositiveZero;
  if (Check & fcNegZero)
    Mask |= Mips::FClassMaskNegativeZero;
  return CurDAG->getTargetConstant(Mask, SDLoc(N), MVT::i32);

  }
  }
}
#endif // GET_DAGISEL_BODY


#ifdef DAGISEL_INLINE
#undef DAGISEL_INLINE
#endif
#ifdef DAGISEL_CLASS_COLONCOLON
#undef DAGISEL_CLASS_COLONCOLON
#endif
#ifdef GET_DAGISEL_DECL
#undef GET_DAGISEL_DECL
#endif
#ifdef GET_DAGISEL_BODY
#undef GET_DAGISEL_BODY
#endif
