/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* DAG Instruction Selector for the LoongArch 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 , 38|128,18, TARGET_VAL(ISD::MUL),
  OPC_Scope, 58,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 26, TARGET_VAL(LoongArchISD::BSTRPICK),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 31,
    OPC_CheckChild1TypeI64,
    OPC_CheckChild2Integer, 0,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 31,
    OPC_CheckChild1TypeI64,
    OPC_CheckChild2Integer, 0,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULW_D_WU),
                    MVT::i64, 2, 0, 1,
   23, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULW_D_W),
                    MVT::i64, 2, 0, 1,
   0,
  103|128,17,
   OPC_RecordChild0,
   OPC_Scope, 53,
    OPC_CheckChild1Integer, 7,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 22, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 2, 0, 3,
    21, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 2, 0, 3,
    0,
   53,
    OPC_CheckChild1Integer, 13,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 22, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 2, 0, 3,
    21, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 2, 0, 3,
    0,
   121,
    OPC_CheckChild1Integer, 25,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 56, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_Scope, 20,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 2, 0, 3,
     30,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 3,
      OPC_EmitIntegerI32, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 2, 4, 5,
     0,
    55, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 20,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 2, 0, 3,
     30,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 2, 4, 5,
     0,
    0,
   53,
    OPC_CheckChild1Integer, 49,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 22, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 2, 0, 3,
    21, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 2, 0, 3,
    0,
   53,
    OPC_CheckChild1Integer, 11,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 22, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 2, 0, 3,
    21, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 2,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 2, 0, 3,
    0,
   53,
    OPC_CheckChild1Integer, 21,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 22, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 2, 0, 3,
    21, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 2,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 2, 0, 3,
    0,
   53,
    OPC_CheckChild1Integer, 41,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 22, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 2, 0, 3,
    21, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 2,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 2, 0, 3,
    0,
   122,
    OPC_CheckChild1Integer, 81|128,0,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 56, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_Scope, 20,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 2, 0, 3,
     30,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 3,
      OPC_EmitIntegerI32, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 2, 4, 5,
     0,
    55, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 20,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 2, 0, 3,
     30,
      OPC_EmitIntegerI64, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 2, 4, 5,
     0,
    0,
   53,
    OPC_CheckChild1Integer, 19,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 22, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 2, 0, 3,
    21, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 3,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 2, 0, 3,
    0,
   53,
    OPC_CheckChild1Integer, 37,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 22, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 2, 0, 3,
    21, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 3,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 2, 0, 3,
    0,
   54,
    OPC_CheckChild1Integer, 73|128,0,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 22, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 2, 0, 3,
    21, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 3,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 2, 0, 3,
    0,
   54,
    OPC_CheckChild1Integer, 17|128,1,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 22, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 2, 0, 3,
    21, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 3,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 2, 0, 3,
    0,
   53,
    OPC_CheckChild1Integer, 35,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 22, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 2, 0, 3,
    21, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 2, 0, 3,
    0,
   54,
    OPC_CheckChild1Integer, 69|128,0,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 22, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 2, 0, 3,
    21, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 2, 0, 3,
    0,
   54,
    OPC_CheckChild1Integer, 9|128,1,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 22, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 2, 0, 3,
    21, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 2, 0, 3,
    0,
   54,
    OPC_CheckChild1Integer, 17|128,2,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 22, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 2, 0, 3,
    21, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 2, 0, 3,
    0,
   73,
    OPC_CheckChild1Integer, 9,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 32, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 3,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 2, 4, 5,
    31, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 3,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 2, 4, 5,
    0,
   13|128,1,
    OPC_CheckChild1Integer, 15,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 66, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_Scope, 30,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 3,
      OPC_EmitIntegerI32, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 3,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 2, 4, 5,
     0,
    65, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 30,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 2, 4, 5,
     0,
    0,
   13|128,1,
    OPC_CheckChild1Integer, 27,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 66, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_Scope, 30,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 3,
      OPC_EmitIntegerI32, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 3,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 2, 4, 5,
     0,
    65, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 30,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI64, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 2, 4, 5,
     0,
    0,
   13|128,1,
    OPC_CheckChild1Integer, 51,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 66, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_Scope, 30,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 3,
      OPC_EmitIntegerI32, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 3,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 2, 4, 5,
     0,
    65, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 30,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI64, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 2, 4, 5,
     0,
    0,
   13|128,1,
    OPC_CheckChild1Integer, 45,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 66, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_Scope, 30,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 3,
      OPC_EmitIntegerI32, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 3,
      OPC_EmitIntegerI32, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 2, 4, 5,
     0,
    65, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 30,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI64, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 2, 4, 5,
     0,
    0,
   14|128,1,
    OPC_CheckChild1Integer, 85|128,0,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 66, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_Scope, 30,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 3,
      OPC_EmitIntegerI32, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 3,
      OPC_EmitIntegerI32, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 2, 4, 5,
     0,
    65, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 30,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI64, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 2, 4, 5,
     0,
    0,
   14|128,1,
    OPC_CheckChild1Integer, 25|128,1,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 66, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_Scope, 30,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 3,
      OPC_EmitIntegerI32, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 0, 0, 3,
      OPC_EmitIntegerI32, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 2, 4, 5,
     0,
    65, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 30,
      OPC_EmitIntegerI64, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI64, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 2, 4, 5,
     0,
    0,
   74,
    OPC_CheckChild1Integer, 33|128,2,
    OPC_CheckPredicate, 12,
    OPC_SwitchType , 32, MVT::i32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 0, 3,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 2, 4, 5,
    31, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 0, 3,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 2, 4, 5,
    0,
   3|128,2,
    OPC_RecordChild1,
    OPC_Scope, 120,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 57,
     OPC_MoveParent,
     OPC_SwitchType , 53, MVT::i64,
      OPC_Scope, 25,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 0, 2,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                       MVT::i64, 3, 0, 0, 3,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 1, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
                       MVT::i64, 2, 4, 6,
      24,
       OPC_CheckPatternPredicate6,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 0, 2,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                       MVT::i64, 3, 0, 0, 3,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 1, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_D),
                       MVT::i64, 2, 4, 6,
      0,
     54, MVT::i32,
      OPC_Scope, 25,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 0, 2,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                       MVT::i32, 3, 0, 0, 3,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 1, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
                       MVT::i32, 2, 4, 6,
      25,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 0, 2,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
                       MVT::i32, 3, 0, 0, 3,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 1, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_D),
                       MVT::i32, 2, 4, 6,
      0,
     0,
    22,
     OPC_CheckTypeI64,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 15,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MUL_W),
                      MVT::i64, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MUL_D),
                      MVT::i64, 2, 0, 1,
     0,
    23,
     OPC_CheckTypeI32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MUL_W),
                      MVT::i32, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate, 9,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MUL_D),
                      MVT::i32, 2, 0, 1,
     0,
    10,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUL_B),
                     MVT::v16i8, 2, 0, 1,
    10,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUL_H),
                     MVT::v8i16, 2, 0, 1,
    10,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUL_W),
                     MVT::v4i32, 2, 0, 1,
    10,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUL_D),
                     MVT::v2i64, 2, 0, 1,
    10,
     OPC_CheckType, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUL_B),
                     MVT::v32i8, 2, 0, 1,
    10,
     OPC_CheckType, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUL_H),
                     MVT::v16i16, 2, 0, 1,
    10,
     OPC_CheckType, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUL_W),
                     MVT::v8i32, 2, 0, 1,
    10,
     OPC_CheckType, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUL_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   0,
  0,
 83|128,12, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
  OPC_Scope, 8|128,12,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 61|128,1, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 93, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_Scope, 29,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 31,
      OPC_CheckChild1TypeI64,
      OPC_CheckChild2Integer, 24,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                      MVT::i64, 3, 1, 0, 2,
     29,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 31,
      OPC_CheckChild1TypeI64,
      OPC_CheckChild2Integer, 16,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                      MVT::i64, 3, 1, 0, 2,
     29,
      OPC_CheckChild1Integer, 24,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 31,
      OPC_CheckChild1TypeI64,
      OPC_CheckChild2Integer, 8,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                      MVT::i64, 3, 1, 0, 2,
     0,
    87, TARGET_VAL(LoongArchISD::BSTRPICK),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 31,
     OPC_CheckChild1TypeI64,
     OPC_Scope, 26,
      OPC_CheckChild2Integer, 24,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                      MVT::i64, 3, 0, 1, 2,
     26,
      OPC_CheckChild2Integer, 16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                      MVT::i64, 3, 0, 1, 2,
     26,
      OPC_CheckChild2Integer, 8,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 24,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                      MVT::i64, 3, 0, 1, 2,
     0,
    0,
   27, TARGET_VAL(ISD::SDIV),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::AssertSext),
    OPC_RecordChild0,
    OPC_CheckPredicate, 43,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AssertSext),
    OPC_RecordChild0,
    OPC_CheckPredicate, 43,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_W),
                    MVT::i64, 2, 0, 1,
   27, TARGET_VAL(ISD::SREM),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::AssertSext),
    OPC_RecordChild0,
    OPC_CheckPredicate, 43,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AssertSext),
    OPC_RecordChild0,
    OPC_CheckPredicate, 43,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_W),
                    MVT::i64, 2, 0, 1,
   5|128,1, TARGET_VAL(ISD::ADD),
    OPC_Scope, 30,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 42,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 1, 0, 3,
    30,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 42,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 2, 3,
    68,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 28,
      OPC_CheckPredicate, 58,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPatternPredicate6,
      OPC_EmitNodeXForm, 2, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDU16I_D),
                      MVT::i64, 2, 0, 2,
      OPC_EmitNodeXForm, 3, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
                      MVT::i64, 2, 3, 4,
     30,
      OPC_CheckPredicate, 59,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPatternPredicate6,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 4, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
                      MVT::i64, 2, 0, 3,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 5, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
                      MVT::i64, 2, 4, 6,
     0,
    0,
   97|128,8, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_Scope, 29,
     OPC_CheckChild1Integer, 7,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 2, 0, 3,
    29,
     OPC_CheckChild1Integer, 13,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 2, 0, 3,
    63,
     OPC_CheckChild1Integer, 25,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 20,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 2, 0, 3,
     30,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 2, 4, 5,
     0,
    29,
     OPC_CheckChild1Integer, 49,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 2, 0, 3,
    29,
     OPC_CheckChild1Integer, 11,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 2,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 2, 0, 3,
    29,
     OPC_CheckChild1Integer, 21,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 2,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 2, 0, 3,
    29,
     OPC_CheckChild1Integer, 41,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 2,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 2, 0, 3,
    64,
     OPC_CheckChild1Integer, 81|128,0,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 20,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 2, 0, 3,
     30,
      OPC_EmitIntegerI64, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 2, 4, 5,
     0,
    29,
     OPC_CheckChild1Integer, 19,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 3,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 2, 0, 3,
    29,
     OPC_CheckChild1Integer, 37,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 3,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 2, 0, 3,
    30,
     OPC_CheckChild1Integer, 73|128,0,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 3,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 2, 0, 3,
    30,
     OPC_CheckChild1Integer, 17|128,1,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 3,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 2, 0, 3,
    29,
     OPC_CheckChild1Integer, 35,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 2, 0, 3,
    30,
     OPC_CheckChild1Integer, 69|128,0,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 2, 0, 3,
    30,
     OPC_CheckChild1Integer, 9|128,1,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 2, 0, 3,
    30,
     OPC_CheckChild1Integer, 17|128,2,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 2, 0, 3,
    39,
     OPC_CheckChild1Integer, 9,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 3,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 2, 4, 5,
    73,
     OPC_CheckChild1Integer, 15,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 30,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 2, 4, 5,
     0,
    73,
     OPC_CheckChild1Integer, 27,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 30,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI64, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 2, 4, 5,
     0,
    73,
     OPC_CheckChild1Integer, 51,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 30,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI64, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 2, 4, 5,
     0,
    73,
     OPC_CheckChild1Integer, 45,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 30,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI64, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 2, 4, 5,
     0,
    74,
     OPC_CheckChild1Integer, 85|128,0,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 30,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI64, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 2, 4, 5,
     0,
    74,
     OPC_CheckChild1Integer, 25|128,1,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 30,
      OPC_EmitIntegerI64, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 3,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 2, 4, 5,
     30,
      OPC_EmitIntegerI64, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 1,
      OPC_EmitIntegerI64, 4,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 0, 0, 3,
      OPC_EmitIntegerI64, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 2, 4, 5,
     0,
    40,
     OPC_CheckChild1Integer, 33|128,2,
     OPC_CheckPredicate, 12,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 1,
     OPC_EmitIntegerI64, 4,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 3,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 2, 4, 5,
    36,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 57,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 0, 2,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 1, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
                     MVT::i64, 2, 4, 6,
    0,
   23, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 25,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPatternPredicate6,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
                    MVT::i64, 2, 0, 2,
   0,
  70,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_Scope, 25,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::i64,
     OPC_CheckPatternPredicate, 26,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::EXT_W_B),
                     MVT::i64, 1, 0,
    8, MVT::i32,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::EXT_W_B),
                     MVT::i32, 1, 0,
    0,
   25,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::i64,
     OPC_CheckPatternPredicate, 26,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::EXT_W_H),
                     MVT::i64, 1, 0,
    8, MVT::i32,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::EXT_W_H),
                     MVT::i32, 1, 0,
    0,
   13,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPatternPredicate6,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
                    MVT::i64, 2, 0, 1,
   0,
  0,
 97, TARGET_VAL(ISD::PREFETCH),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 45,
   OPC_CheckChild2Integer, 0,
   OPC_CheckChild2TypeI32,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckChild4Integer, 1,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate7,
    OPC_CheckComplexPat, /*CP*/12, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PRELD), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 4, 2, 3,
   16,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/12, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PRELD), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 4, 2, 3,
   0,
  45,
   OPC_CheckChild2Integer, 1,
   OPC_CheckChild2TypeI32,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckChild4Integer, 1,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate7,
    OPC_CheckComplexPat, /*CP*/12, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 8,
    OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PRELD), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 4, 2, 3,
   16,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/12, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 8,
    OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PRELD), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 4, 2, 3,
   0,
  0,
 6|128,60, TARGET_VAL(ISD::STORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 47|128,19,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 81|128,1,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 27,
    OPC_SwitchType , 97, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 71,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 31, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 37,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      31, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 37,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     20,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    97, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 71,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 31, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 37,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      31, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 37,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     20,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    0,
   81|128,1,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 19,
    OPC_SwitchType , 97, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 71,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 31, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 38,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      31, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 38,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     20,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    97, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 71,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 31, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 38,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      31, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 38,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     20,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    0,
   81|128,1,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_SwitchType , 97, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 71,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 31, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      31, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     20,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    97, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 71,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 31, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      31, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     20,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    0,
   69|128,1,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 33,
    OPC_SwitchType , 91, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 67,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 29, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 31,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      29, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 31,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     18,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    91, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 67,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 29, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 31,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      29, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 31,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     18,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    0,
   72|128,1,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_SwitchType , 92, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_Scope, 67,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 29, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      29, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     18,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    92, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_Scope, 67,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 29, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      29, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     18,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    0,
   72|128,1,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 33,
    OPC_SwitchType , 92, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_Scope, 67,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 29, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 31,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      29, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 31,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     18,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    92, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_Scope, 67,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 29, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 31,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      29, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 31,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     18,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    0,
   81|128,1,
    OPC_CheckChild0Type, MVT::v32i8,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 25,
    OPC_SwitchType , 97, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 71,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 31, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 37,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      31, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 37,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     20,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    97, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 71,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 31, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 37,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      31, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 37,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     20,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    0,
   81|128,1,
    OPC_CheckChild0Type, MVT::v16i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 27,
    OPC_SwitchType , 97, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 71,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 31, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 38,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      31, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 38,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     20,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    97, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 71,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 31, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 38,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      31, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 38,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     20,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    0,
   81|128,1,
    OPC_CheckChild0Type, MVT::v8i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 19,
    OPC_SwitchType , 97, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 71,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 31, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      31, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     20,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    97, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 71,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 31, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      31, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     20,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    0,
   69|128,1,
    OPC_CheckChild0Type, MVT::v4i64,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_SwitchType , 91, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 67,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 29, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 31,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      29, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 31,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     18,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    91, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 67,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 29, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 31,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      29, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 31,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     18,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    0,
   72|128,1,
    OPC_CheckChild0Type, 8|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 19,
    OPC_SwitchType , 92, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_Scope, 67,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 29, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      29, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     18,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    92, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_Scope, 67,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 29, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      29, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     18,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    0,
   72|128,1,
    OPC_CheckChild0Type, 24|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_SwitchType , 92, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_Scope, 67,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 29, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 31,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      29, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 31,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     18,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    92, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_Scope, 67,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 29, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 31,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      29, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 31,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 5, 6, 7,
      0,
     18,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 5, 6,
     0,
    0,
   0,
  17|128,15,
   OPC_RecordChild1,
   OPC_Scope, 4|128,2,
    OPC_CheckChild1TypeI64,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 125, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 74,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckPredicate3,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_Scope, 49,
       OPC_CheckPredicate, 9,
       OPC_Scope, 14,
        OPC_CheckPredicate4,
        OPC_CheckPatternPredicate7,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 4, 5,
       14,
        OPC_CheckPredicate5,
        OPC_CheckPatternPredicate7,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 4, 5,
       14,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate6,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 4, 5,
       0,
      14,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 5,
      0,
     41,
      OPC_CheckPredicate, 44,
      OPC_MoveParent,
      OPC_CheckPredicate3,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_Scope, 16,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 5,
      14,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 5,
      0,
     0,
    125, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 74,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckPredicate3,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_Scope, 49,
       OPC_CheckPredicate, 9,
       OPC_Scope, 14,
        OPC_CheckPredicate4,
        OPC_CheckPatternPredicate7,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 4, 5,
       14,
        OPC_CheckPredicate5,
        OPC_CheckPatternPredicate7,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 4, 5,
       14,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate6,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 4, 5,
       0,
      14,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 5,
      0,
     41,
      OPC_CheckPredicate, 44,
      OPC_MoveParent,
      OPC_CheckPredicate3,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_Scope, 16,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 5,
      14,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 5,
      0,
     0,
    0,
   18|128,1,
    OPC_CheckChild1TypeI32,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 68, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_Scope, 36,
      OPC_CheckPredicate, 9,
      OPC_Scope, 15,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 5,
      15,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 5,
      0,
     15,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    68, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_Scope, 36,
      OPC_CheckPredicate, 9,
      OPC_Scope, 15,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 5,
      15,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 5,
      0,
     15,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   111,
    OPC_CheckChild1Type, MVT::f32,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 50, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 17, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     17, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate, 11,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    50, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 17, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     17, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate, 11,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   111,
    OPC_CheckChild1Type, MVT::f64,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 50, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 17, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate, 12,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     17, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    50, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 17, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate, 12,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     17, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   107,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    48, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   107,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    48, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   107,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    48, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   107,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    48, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   108,
    OPC_CheckChild1Type, 4|128,1,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    48, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   108,
    OPC_CheckChild1Type, 22|128,1,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    48, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   107,
    OPC_CheckChild1Type, MVT::v32i8,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    48, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   107,
    OPC_CheckChild1Type, MVT::v16i16,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    48, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   107,
    OPC_CheckChild1Type, MVT::v8i32,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    48, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   107,
    OPC_CheckChild1Type, MVT::v4i64,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    48, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   108,
    OPC_CheckChild1Type, 8|128,1,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    48, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   108,
    OPC_CheckChild1Type, 24|128,1,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    48, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   0,
  123|128,5,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 63,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 27,
    OPC_SwitchType , 24, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    24, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    0,
   63,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 19,
    OPC_SwitchType , 24, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate5,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    24, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate5,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    0,
   63,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_SwitchType , 24, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    24, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    0,
   59,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 33,
    OPC_SwitchType , 22, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    22, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    0,
   62,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_SwitchType , 23, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    23, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    0,
   62,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 33,
    OPC_SwitchType , 23, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    23, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    0,
   63,
    OPC_CheckChild0Type, MVT::v32i8,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 25,
    OPC_SwitchType , 24, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    24, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    0,
   63,
    OPC_CheckChild0Type, MVT::v16i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 27,
    OPC_SwitchType , 24, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate5,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    24, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate5,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    0,
   63,
    OPC_CheckChild0Type, MVT::v8i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 19,
    OPC_SwitchType , 24, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    24, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    0,
   59,
    OPC_CheckChild0Type, MVT::v4i64,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_SwitchType , 22, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    22, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    0,
   62,
    OPC_CheckChild0Type, 8|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 19,
    OPC_SwitchType , 23, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    23, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    0,
   62,
    OPC_CheckChild0Type, 24|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_SwitchType , 23, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    23, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 5, 6,
    0,
   0,
  63|128,19,
   OPC_RecordChild1,
   OPC_Scope, 22|128,2,
    OPC_CheckChild1TypeI64,
    OPC_Scope, 65,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_Scope, 46,
      OPC_CheckPredicate, 9,
      OPC_Scope, 13,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 4,
      13,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 4,
      13,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 4,
      0,
     13,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    5|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_Scope, 46,
      OPC_CheckPredicate, 9,
      OPC_Scope, 13,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_B), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      13,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_H), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      13,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_W), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      0,
     13,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_D), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 3,
     46,
      OPC_CheckPredicate, 9,
      OPC_Scope, 13,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_B), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      13,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_H), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      13,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_W), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     13,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat3, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_D), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 2,
     0,
    73,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_Scope, 52,
      OPC_CheckPredicate, 9,
      OPC_Scope, 15,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 4,
      15,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 4,
      15,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 4,
      0,
     15,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   111,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_Scope, 34,
     OPC_CheckPredicate, 9,
     OPC_Scope, 14,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     14,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    14,
     OPC_CheckPredicate1,
     OPC_CheckPatternPredicate, 13,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    38,
     OPC_CheckPredicate, 9,
     OPC_Scope, 16,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     16,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    16,
     OPC_CheckPredicate1,
     OPC_CheckPatternPredicate, 13,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   23|128,1,
    OPC_CheckChild1Type, MVT::f32,
    OPC_Scope, 33,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     13,
      OPC_CheckPatternPredicate, 11,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    74,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 31, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate, 10,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     31, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate, 11,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     0,
    37,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     15,
      OPC_CheckPatternPredicate, 11,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   23|128,1,
    OPC_CheckChild1Type, MVT::f64,
    OPC_Scope, 33,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate, 12,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     13,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    74,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 31, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate, 12,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     31, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate, 14,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     0,
    37,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate, 12,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     15,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   30|128,1,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 42,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 15, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 3,
     15, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 3,
     0,
    31,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    42,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 15, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat3, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 2,
     15, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat3, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 2,
     0,
    35,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     14,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   17|128,1,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 31,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    72,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 30, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     30, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     0,
    35,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     14,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   17|128,1,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 31,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    72,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 30, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     30, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     0,
    35,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     14,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   17|128,1,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_Scope, 31,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    72,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 30, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     30, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     0,
    35,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     14,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   18|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_Scope, 31,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    72,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 30, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     30, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     0,
    35,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     14,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   18|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_Scope, 31,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    72,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 30, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate3,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     30, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate4,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     0,
    35,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     14,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   30|128,1,
    OPC_CheckChild1Type, MVT::v32i8,
    OPC_Scope, 42,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 15, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 3,
     15, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 3,
     0,
    31,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    42,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 15, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat3, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 2,
     15, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat3, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 2,
     0,
    35,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     14,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   17|128,1,
    OPC_CheckChild1Type, MVT::v16i16,
    OPC_Scope, 31,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    72,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 30, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     30, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     0,
    35,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     14,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   17|128,1,
    OPC_CheckChild1Type, MVT::v8i32,
    OPC_Scope, 31,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    72,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 30, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     30, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     0,
    35,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     14,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   17|128,1,
    OPC_CheckChild1Type, MVT::v4i64,
    OPC_Scope, 31,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    72,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 30, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     30, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     0,
    35,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     14,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   18|128,1,
    OPC_CheckChild1Type, 8|128,1,
    OPC_Scope, 31,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    72,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 30, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     30, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     0,
    35,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     14,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   18|128,1,
    OPC_CheckChild1Type, 24|128,1,
    OPC_Scope, 31,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    72,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 30, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     30, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_Scope, 11,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 3,
      11,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 4, 2,
      0,
     0,
    35,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_CheckPredicate1,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     14,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   0,
  0,
 110|128,1, TARGET_VAL(LoongArchISD::BSTRPICK),
  OPC_Scope, 125,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_Scope, 58,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 42,
    OPC_SwitchType , 19, MVT::i64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 31,
     OPC_CheckChild1TypeI64,
     OPC_CheckChild2Integer, 0,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate6,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_WU),
                     MVT::i64, 3, 1, 0, 3,
    20, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 31,
     OPC_CheckChild1TypeI64,
     OPC_CheckChild2Integer, 0,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_WU),
                     MVT::i32, 3, 1, 0, 3,
    0,
   59,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 42,
    OPC_SwitchType , 20, MVT::i64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 31,
     OPC_CheckChild1TypeI64,
     OPC_CheckChild2Integer, 0,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate6,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_WU),
                     MVT::i64, 3, 0, 2, 3,
    21, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 31,
     OPC_CheckChild1TypeI64,
     OPC_CheckChild2Integer, 0,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_WU),
                     MVT::i32, 3, 0, 2, 3,
    0,
   0,
  109,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 50,
    OPC_CheckPredicate, 25,
    OPC_SwitchType , 21, MVT::i64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitConvertToTarget1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRPICK_W),
                     MVT::i64, 3, 0, 3, 4,
    21, MVT::i32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitConvertToTarget1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRPICK_W),
                     MVT::i32, 3, 0, 3, 4,
    0,
   49,
    OPC_CheckPredicate, 34,
    OPC_SwitchType , 20, MVT::i64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 34,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate6,
     OPC_EmitConvertToTarget1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRPICK_D),
                     MVT::i64, 3, 0, 3, 4,
    21, MVT::i32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 34,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRPICK_D),
                     MVT::i32, 3, 0, 3, 4,
    0,
   0,
  0,
 55|128,23, TARGET_VAL(ISD::OR),
  OPC_Scope, 101|128,6,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 45|128,3, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_Scope, 85,
     OPC_CheckChild1Integer, 8,
     OPC_Scope, 40,
      OPC_CheckChild1TypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 24,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 12, MVT::i64,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitIntegerI64, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                       MVT::i64, 3, 1, 0, 2,
      12, MVT::i32,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                       MVT::i32, 3, 1, 0, 2,
      0,
     39,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 56,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 11, MVT::i64,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI64, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                       MVT::i64, 3, 1, 0, 2,
      12, MVT::i32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                       MVT::i32, 3, 1, 0, 2,
      0,
     0,
    85,
     OPC_CheckChild1Integer, 16,
     OPC_Scope, 40,
      OPC_CheckChild1TypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 12, MVT::i64,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitIntegerI64, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                       MVT::i64, 3, 1, 0, 2,
      12, MVT::i32,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitIntegerI32, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                       MVT::i32, 3, 1, 0, 2,
      0,
     39,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 48,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 11, MVT::i64,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI64, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                       MVT::i64, 3, 1, 0, 2,
      12, MVT::i32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                       MVT::i32, 3, 1, 0, 2,
      0,
     0,
    85,
     OPC_CheckChild1Integer, 24,
     OPC_Scope, 40,
      OPC_CheckChild1TypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 12, MVT::i64,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitIntegerI64, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                       MVT::i64, 3, 1, 0, 2,
      12, MVT::i32,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitIntegerI32, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                       MVT::i32, 3, 1, 0, 2,
      0,
     39,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 40,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 11, MVT::i64,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI64, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                       MVT::i64, 3, 1, 0, 2,
      12, MVT::i32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                       MVT::i32, 3, 1, 0, 2,
      0,
     0,
    41,
     OPC_CheckChild1Integer, 32,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 32,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::i64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                      MVT::i64, 3, 1, 0, 2,
     12, MVT::i32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                      MVT::i32, 3, 1, 0, 2,
     0,
    41,
     OPC_CheckChild1Integer, 40,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 24,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::i64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                      MVT::i64, 3, 1, 0, 2,
     12, MVT::i32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                      MVT::i32, 3, 1, 0, 2,
     0,
    41,
     OPC_CheckChild1Integer, 48,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 16,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::i64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                      MVT::i64, 3, 1, 0, 2,
     12, MVT::i32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                      MVT::i32, 3, 1, 0, 2,
     0,
    41,
     OPC_CheckChild1Integer, 56,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 8,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::i64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 7,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                      MVT::i64, 3, 1, 0, 2,
     12, MVT::i32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 7,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                      MVT::i32, 3, 1, 0, 2,
     0,
    0,
   45|128,3, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_Scope, 85,
     OPC_CheckChild1Integer, 24,
     OPC_Scope, 40,
      OPC_CheckChild1TypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 12, MVT::i64,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitIntegerI64, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                       MVT::i64, 3, 0, 1, 2,
      12, MVT::i32,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                       MVT::i32, 3, 0, 1, 2,
      0,
     39,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 40,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 11, MVT::i64,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI64, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                       MVT::i64, 3, 0, 1, 2,
      12, MVT::i32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                       MVT::i32, 3, 0, 1, 2,
      0,
     0,
    85,
     OPC_CheckChild1Integer, 16,
     OPC_Scope, 40,
      OPC_CheckChild1TypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 12, MVT::i64,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitIntegerI64, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                       MVT::i64, 3, 0, 1, 2,
      12, MVT::i32,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitIntegerI32, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                       MVT::i32, 3, 0, 1, 2,
      0,
     39,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 48,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 11, MVT::i64,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI64, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                       MVT::i64, 3, 0, 1, 2,
      12, MVT::i32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                       MVT::i32, 3, 0, 1, 2,
      0,
     0,
    85,
     OPC_CheckChild1Integer, 8,
     OPC_Scope, 40,
      OPC_CheckChild1TypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 24,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 12, MVT::i64,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitIntegerI64, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                       MVT::i64, 3, 0, 1, 2,
      12, MVT::i32,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitIntegerI32, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
                       MVT::i32, 3, 0, 1, 2,
      0,
     39,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 56,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 11, MVT::i64,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI64, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                       MVT::i64, 3, 0, 1, 2,
      12, MVT::i32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                       MVT::i32, 3, 0, 1, 2,
      0,
     0,
    41,
     OPC_CheckChild1Integer, 56,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 8,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::i64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                      MVT::i64, 3, 0, 1, 2,
     12, MVT::i32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                      MVT::i32, 3, 0, 1, 2,
     0,
    41,
     OPC_CheckChild1Integer, 48,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 16,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::i64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                      MVT::i64, 3, 0, 1, 2,
     12, MVT::i32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                      MVT::i32, 3, 0, 1, 2,
     0,
    41,
     OPC_CheckChild1Integer, 40,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 24,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::i64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                      MVT::i64, 3, 0, 1, 2,
     12, MVT::i32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                      MVT::i32, 3, 0, 1, 2,
     0,
    41,
     OPC_CheckChild1Integer, 32,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 32,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::i64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                      MVT::i64, 3, 0, 1, 2,
     12, MVT::i32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
                      MVT::i32, 3, 0, 1, 2,
     0,
    0,
   0,
  74,
   OPC_RecordChild0,
   OPC_Scope, 38,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckPredicate3,
    OPC_SwitchType , 12, MVT::i32,
     OPC_CheckPatternPredicate, 13,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
                     MVT::i32, 2, 2, 3,
    11, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
                     MVT::i64, 2, 2, 3,
    0,
   31,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORN),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORN),
                     MVT::i32, 2, 0, 1,
    0,
   0,
  32,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::i64,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORN),
                    MVT::i64, 2, 1, 0,
   9, MVT::i32,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORN),
                    MVT::i32, 2, 1, 0,
   0,
  123|128,1,
   OPC_RecordChild0,
   OPC_Scope, 57,
    OPC_RecordChild1,
    OPC_Scope, 32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 48,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::i64,
      OPC_CheckPatternPredicate7,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORI),
                      MVT::i64, 2, 0, 2,
     10, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORI),
                      MVT::i32, 2, 0, 2,
     0,
    9,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::OR),
                     MVT::i64, 2, 0, 1,
    10,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::OR),
                     MVT::i32, 2, 0, 1,
    0,
   60|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 13,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 19|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
     OPC_Scope, 17,
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
                      MVT::v16i8, 2, 0, 1,
     17,
      OPC_CheckPredicate, 16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
                      MVT::v8i16, 2, 0, 1,
     17,
      OPC_CheckPredicate, 17,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
                      MVT::v4i32, 2, 0, 1,
     15,
      OPC_CheckPredicate, 18,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
                      MVT::v2i64, 2, 0, 1,
     15,
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
                      MVT::v32i8, 2, 0, 1,
     17,
      OPC_CheckPredicate, 16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i16,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
                      MVT::v16i16, 2, 0, 1,
     17,
      OPC_CheckPredicate, 17,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i32,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
                      MVT::v8i32, 2, 0, 1,
     17,
      OPC_CheckPredicate, 18,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i64,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
                      MVT::v4i64, 2, 0, 1,
     0,
    22,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   0,
  64,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
                    MVT::v16i8, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
                    MVT::v16i8, 2, 1, 0,
   0,
  37,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v8i16,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
                   MVT::v8i16, 2, 0, 1,
  64,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
                    MVT::v8i16, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
                    MVT::v8i16, 2, 1, 0,
   0,
  37,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
                   MVT::v4i32, 2, 0, 1,
  64,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
                    MVT::v4i32, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
                    MVT::v4i32, 2, 1, 0,
   0,
  35,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
                   MVT::v2i64, 2, 0, 1,
  60,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 21,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 18,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
                    MVT::v2i64, 2, 1, 0,
   21,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 18,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
                    MVT::v2i64, 2, 1, 0,
   0,
  35,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 15,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
                   MVT::v32i8, 2, 0, 1,
  60,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 21,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v32i8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
                    MVT::v32i8, 2, 1, 0,
   21,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v32i8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
                    MVT::v32i8, 2, 1, 0,
   0,
  37,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v16i16,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
                   MVT::v16i16, 2, 0, 1,
  64,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i16,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
                    MVT::v16i16, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i16,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
                    MVT::v16i16, 2, 1, 0,
   0,
  37,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v8i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
                   MVT::v8i32, 2, 0, 1,
  64,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i32,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
                    MVT::v8i32, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i32,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
                    MVT::v8i32, 2, 1, 0,
   0,
  37,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
                   MVT::v4i64, 2, 0, 1,
  64,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 18,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
                    MVT::v4i64, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 18,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
                    MVT::v4i64, 2, 1, 0,
   0,
  87|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 87, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
                     MVT::v16i8, 2, 0, 1,
    8, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
                     MVT::v8i16, 2, 0, 1,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
                     MVT::v4i32, 2, 0, 1,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
                     MVT::v2i64, 2, 0, 1,
    8, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
                     MVT::v32i8, 2, 0, 1,
    8, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
                     MVT::v16i16, 2, 0, 1,
    8, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
                     MVT::v8i32, 2, 0, 1,
    8, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
                     MVT::v4i64, 2, 0, 1,
    0,
   118, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_Scope, 13,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
                     MVT::v16i8, 2, 0, 1,
    13,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
                     MVT::v8i16, 2, 0, 1,
    13,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
                     MVT::v4i32, 2, 0, 1,
    23,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v2i64,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
                      MVT::v2i64, 2, 0, 1,
     8, MVT::v32i8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
                      MVT::v32i8, 2, 0, 1,
     0,
    13,
     OPC_CheckChild1Type, MVT::v16i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
                     MVT::v16i16, 2, 0, 1,
    13,
     OPC_CheckChild1Type, MVT::v8i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
                     MVT::v8i32, 2, 0, 1,
    13,
     OPC_CheckChild1Type, MVT::v4i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   0,
  94|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 88, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
                     MVT::v16i8, 2, 1, 0,
    8, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
                     MVT::v8i16, 2, 1, 0,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
                     MVT::v4i32, 2, 1, 0,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
                     MVT::v2i64, 2, 1, 0,
    8, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
                     MVT::v32i8, 2, 1, 0,
    8, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
                     MVT::v16i16, 2, 1, 0,
    8, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
                     MVT::v8i32, 2, 1, 0,
    8, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
                     MVT::v4i64, 2, 1, 0,
    0,
   125, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_Scope, 14,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
                     MVT::v16i8, 2, 1, 0,
    14,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
                     MVT::v8i16, 2, 1, 0,
    14,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
                     MVT::v4i32, 2, 1, 0,
    24,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 8, MVT::v2i64,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
                      MVT::v2i64, 2, 1, 0,
     8, MVT::v32i8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
                      MVT::v32i8, 2, 1, 0,
     0,
    14,
     OPC_CheckChild1Type, MVT::v16i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
                     MVT::v16i16, 2, 1, 0,
    14,
     OPC_CheckChild1Type, MVT::v8i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
                     MVT::v8i32, 2, 1, 0,
    14,
     OPC_CheckChild1Type, MVT::v4i64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
                     MVT::v4i64, 2, 1, 0,
    0,
   0,
  36|128,4,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 99, MVT::v16i8,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
                     MVT::v16i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
                     MVT::v16i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
                     MVT::v16i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
                     MVT::v16i8, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
                     MVT::v16i8, 2, 0, 1,
    0,
   55, MVT::v8i16,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
                     MVT::v8i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
                     MVT::v8i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
                     MVT::v8i16, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
                     MVT::v8i16, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
                     MVT::v8i16, 2, 0, 1,
    0,
   55, MVT::v4i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
                     MVT::v4i32, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
                     MVT::v4i32, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
                     MVT::v4i32, 2, 0, 1,
    0,
   55, MVT::v2i64,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
                     MVT::v2i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
                     MVT::v2i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
                     MVT::v2i64, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
                     MVT::v2i64, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
                     MVT::v2i64, 2, 0, 1,
    0,
   99, MVT::v32i8,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
                     MVT::v32i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
                     MVT::v32i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
                     MVT::v32i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
                     MVT::v32i8, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
                     MVT::v32i8, 2, 0, 1,
    0,
   55, MVT::v16i16,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
                     MVT::v16i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
                     MVT::v16i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
                     MVT::v16i16, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
                     MVT::v16i16, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
                     MVT::v16i16, 2, 0, 1,
    0,
   55, MVT::v8i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
                     MVT::v8i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
                     MVT::v8i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
                     MVT::v8i32, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
                     MVT::v8i32, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
                     MVT::v8i32, 2, 0, 1,
    0,
   55, MVT::v4i64,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
                     MVT::v4i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
                     MVT::v4i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
                     MVT::v4i64, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
                     MVT::v4i64, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
                     MVT::v4i64, 2, 0, 1,
    0,
   0,
  0,
 18|128,39, TARGET_VAL(ISD::LOAD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 19|128,6,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 4|128,3, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 78|128,2,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 63|128,1, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate, 8,
      OPC_CheckTypeI64,
      OPC_Scope, 16,
       OPC_CheckPredicate, 20,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      16,
       OPC_CheckPredicate, 26,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      16,
       OPC_CheckPredicate, 20,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      16,
       OPC_CheckPredicate, 26,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      15,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate, 15,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      34,
       OPC_CheckPredicate, 32,
       OPC_Scope, 14,
        OPC_CheckPredicate4,
        OPC_CheckPatternPredicate7,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 3, 4,
       14,
        OPC_CheckPredicate5,
        OPC_CheckPatternPredicate7,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 3, 4,
       0,
      16,
       OPC_CheckPredicate, 20,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      16,
       OPC_CheckPredicate, 26,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      16,
       OPC_CheckPredicate, 32,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      14,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      0,
     3|128,1, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate, 8,
      OPC_CheckTypeI32,
      OPC_Scope, 17,
       OPC_CheckPredicate, 20,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
      17,
       OPC_CheckPredicate, 26,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
      17,
       OPC_CheckPredicate, 20,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
      17,
       OPC_CheckPredicate, 26,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
      15,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate, 13,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
      36,
       OPC_CheckPredicate, 32,
       OPC_Scope, 15,
        OPC_CheckPredicate4,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 3, 4,
       15,
        OPC_CheckPredicate5,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 3, 4,
       0,
      0,
     0,
    43,
     OPC_CheckPredicate, 44,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI64,
     OPC_Scope, 16,
      OPC_CheckPredicate, 20,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     14,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     0,
    0,
   4|128,3, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 78|128,2,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 63|128,1, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate, 8,
      OPC_CheckTypeI64,
      OPC_Scope, 16,
       OPC_CheckPredicate, 20,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      16,
       OPC_CheckPredicate, 26,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      16,
       OPC_CheckPredicate, 20,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      16,
       OPC_CheckPredicate, 26,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      15,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate, 15,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      34,
       OPC_CheckPredicate, 32,
       OPC_Scope, 14,
        OPC_CheckPredicate4,
        OPC_CheckPatternPredicate7,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 3, 4,
       14,
        OPC_CheckPredicate5,
        OPC_CheckPatternPredicate7,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 3, 4,
       0,
      16,
       OPC_CheckPredicate, 20,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      16,
       OPC_CheckPredicate, 26,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      16,
       OPC_CheckPredicate, 32,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      14,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 3, 4,
      0,
     3|128,1, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate, 8,
      OPC_CheckTypeI32,
      OPC_Scope, 17,
       OPC_CheckPredicate, 20,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
      17,
       OPC_CheckPredicate, 26,
       OPC_CheckPredicate4,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
      17,
       OPC_CheckPredicate, 20,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
      17,
       OPC_CheckPredicate, 26,
       OPC_CheckPredicate5,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
      15,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate, 13,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
      36,
       OPC_CheckPredicate, 32,
       OPC_Scope, 15,
        OPC_CheckPredicate4,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 3, 4,
       15,
        OPC_CheckPredicate5,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 3, 4,
       0,
      0,
     0,
    43,
     OPC_CheckPredicate, 44,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI64,
     OPC_Scope, 16,
      OPC_CheckPredicate, 20,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     14,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     0,
    0,
   0,
  60|128,2,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_Scope, 34,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate4,
    OPC_SwitchType , 12, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    13, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   34,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate4,
    OPC_SwitchType , 12, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    13, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   34,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate5,
    OPC_SwitchType , 12, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    13, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   34,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate5,
    OPC_SwitchType , 12, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    13, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   33,
    OPC_CheckPredicate7,
    OPC_SwitchType , 13, MVT::i64,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    13, MVT::i32,
     OPC_CheckPatternPredicate, 13,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   70,
    OPC_CheckPredicate, 32,
    OPC_Scope, 32,
     OPC_CheckPredicate4,
     OPC_SwitchType , 12, MVT::i64,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
     13, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     0,
    32,
     OPC_CheckPredicate5,
     OPC_SwitchType , 12, MVT::i64,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
     13, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     0,
    0,
   16,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate2,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   16,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate2,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   16,
    OPC_CheckPredicate, 32,
    OPC_CheckPredicate2,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   14,
    OPC_CheckPredicate7,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   0,
  73|128,2,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckPredicate, 8,
   OPC_CheckTypeI64,
   OPC_Scope, 15,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 2,
   15,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 2,
   15,
    OPC_CheckPredicate, 32,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_BU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 2,
   15,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 2,
   15,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 2,
   15,
    OPC_CheckPredicate, 32,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_HU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 2,
   15,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 2,
   15,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 2,
   15,
    OPC_CheckPredicate, 32,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_WU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 2,
   13,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 2,
   15,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 1,
   15,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 1,
   15,
    OPC_CheckPredicate, 32,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_BU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 1,
   15,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 1,
   15,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 1,
   15,
    OPC_CheckPredicate, 32,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_HU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 1,
   15,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 1,
   15,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 1,
   15,
    OPC_CheckPredicate, 32,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_WU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 1,
   13,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 3, 1,
   0,
  96|128,2,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_Scope, 38,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate4,
    OPC_SwitchType , 14, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    15, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   38,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate4,
    OPC_SwitchType , 14, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    15, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   38,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate5,
    OPC_SwitchType , 14, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    15, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   38,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate5,
    OPC_SwitchType , 14, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    15, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   37,
    OPC_CheckPredicate7,
    OPC_SwitchType , 15, MVT::i64,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    15, MVT::i32,
     OPC_CheckPatternPredicate, 13,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   78,
    OPC_CheckPredicate, 32,
    OPC_Scope, 36,
     OPC_CheckPredicate4,
     OPC_SwitchType , 14, MVT::i64,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
     15, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     0,
    36,
     OPC_CheckPredicate5,
     OPC_SwitchType , 14, MVT::i64,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
     15, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     0,
    0,
   18,
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate2,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   18,
    OPC_CheckPredicate, 26,
    OPC_CheckPredicate2,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   18,
    OPC_CheckPredicate, 32,
    OPC_CheckPredicate2,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   16,
    OPC_CheckPredicate7,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   0,
  65|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 92, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckPredicate3,
    OPC_SwitchType , 38, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate7,
     OPC_SwitchType , 14, MVT::f32,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 2, 3, 4,
     14, MVT::f64,
      OPC_CheckPatternPredicate, 12,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 3, 4,
     0,
    38, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate7,
     OPC_SwitchType , 14, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 2, 3, 4,
     14, MVT::f64,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 3, 4,
     0,
    0,
   92, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckPredicate3,
    OPC_SwitchType , 38, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate7,
     OPC_SwitchType , 14, MVT::f32,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 2, 3, 4,
     14, MVT::f64,
      OPC_CheckPatternPredicate, 12,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 3, 4,
     0,
    38, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate7,
     OPC_SwitchType , 14, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 2, 3, 4,
     14, MVT::f64,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 3, 4,
     0,
    0,
   0,
  36,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_CheckPredicate7,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 3,
   13,
    OPC_CheckPatternPredicate, 11,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 3,
   0,
  50,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::i64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 3, 2,
   19, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate, 11,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 3, 2,
   0,
  36,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_CheckPredicate7,
   OPC_CheckType, MVT::f64,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate, 12,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3,
   13,
    OPC_CheckPatternPredicate, 14,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3,
   0,
  114,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 51, MVT::i64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_SwitchType , 28, MVT::f64,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 11,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 3, 2,
     11,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 3, 1,
     0,
    13, MVT::f32,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 3, 1,
    0,
   51, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_SwitchType , 28, MVT::f64,
     OPC_CheckPatternPredicate, 14,
     OPC_Scope, 11,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 3, 2,
     11,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 3, 1,
     0,
    13, MVT::f32,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 3, 1,
    0,
   0,
  78,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_CheckPredicate7,
   OPC_SwitchType , 34, MVT::f32,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3,
    15,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3,
    0,
   34, MVT::f64,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate, 12,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
    15,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
    0,
   0,
  79|128,4,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 56|128,2, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 10|128,2,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 126, MVT::i64,
      OPC_MoveParent,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate7,
      OPC_SwitchType , 13, MVT::v16i8,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i8, 2, 3, 4,
      13, MVT::v8i16,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i16, 2, 3, 4,
      13, MVT::v4i32,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i32, 2, 3, 4,
      13, MVT::v2i64,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i64, 2, 3, 4,
      13, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i8, 2, 3, 4,
      13, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i16, 2, 3, 4,
      13, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i32, 2, 3, 4,
      13, MVT::v4i64,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i64, 2, 3, 4,
      0,
     126, MVT::i32,
      OPC_MoveParent,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate7,
      OPC_SwitchType , 13, MVT::v16i8,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i8, 2, 3, 4,
      13, MVT::v8i16,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i16, 2, 3, 4,
      13, MVT::v4i32,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i32, 2, 3, 4,
      13, MVT::v2i64,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i64, 2, 3, 4,
      13, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i8, 2, 3, 4,
      13, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i16, 2, 3, 4,
      13, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i32, 2, 3, 4,
      13, MVT::v4i64,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i64, 2, 3, 4,
      0,
     0,
    19,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate7,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 2, 3, 2,
    19,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate7,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 2, 3, 2,
    0,
   12|128,2, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckPredicate3,
    OPC_SwitchType , 126, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate7,
     OPC_SwitchType , 13, MVT::v16i8,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 2, 3, 4,
     13, MVT::v8i16,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i16, 2, 3, 4,
     13, MVT::v4i32,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 2, 3, 4,
     13, MVT::v2i64,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 2, 3, 4,
     13, MVT::v32i8,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i8, 2, 3, 4,
     13, MVT::v16i16,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i16, 2, 3, 4,
     13, MVT::v8i32,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i32, 2, 3, 4,
     13, MVT::v4i64,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i64, 2, 3, 4,
     0,
    126, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate7,
     OPC_SwitchType , 13, MVT::v16i8,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 2, 3, 4,
     13, MVT::v8i16,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i16, 2, 3, 4,
     13, MVT::v4i32,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 2, 3, 4,
     13, MVT::v2i64,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 2, 3, 4,
     13, MVT::v32i8,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i8, 2, 3, 4,
     13, MVT::v16i16,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i16, 2, 3, 4,
     13, MVT::v8i32,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i32, 2, 3, 4,
     13, MVT::v4i64,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i64, 2, 3, 4,
     0,
    0,
   0,
  66,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_CheckPredicate7,
   OPC_SwitchType , 28, MVT::v16i8,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 2, 2, 3,
    12,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 2, 2, 3,
    0,
   28, MVT::v8i16,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i16, 2, 2, 3,
    12,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i16, 2, 2, 3,
    0,
   0,
  48,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 18, MVT::i64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i16, 2, 3, 2,
   18, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i16, 2, 3, 2,
   0,
  34,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_CheckPredicate7,
   OPC_CheckType, MVT::v4i32,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 2, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 2, 3,
   0,
  48,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 18, MVT::i64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 3, 2,
   18, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 3, 2,
   0,
  34,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_CheckPredicate7,
   OPC_CheckType, MVT::v2i64,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i64, 2, 2, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i64, 2, 2, 3,
   0,
  80,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 34, MVT::i64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_SwitchType , 12, MVT::v2i64,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i64, 2, 3, 2,
    12, MVT::v32i8,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i8, 2, 3, 2,
    0,
   34, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_SwitchType , 12, MVT::v2i64,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i64, 2, 3, 2,
    12, MVT::v32i8,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i8, 2, 3, 2,
    0,
   0,
  66,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_CheckPredicate7,
   OPC_SwitchType , 28, MVT::v32i8,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i8, 2, 2, 3,
    12,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i8, 2, 2, 3,
    0,
   28, MVT::v16i16,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i16, 2, 2, 3,
    12,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i16, 2, 2, 3,
    0,
   0,
  48,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 18, MVT::i64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_CheckType, MVT::v16i16,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v16i16, 2, 3, 2,
   18, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_CheckType, MVT::v16i16,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v16i16, 2, 3, 2,
   0,
  34,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_CheckPredicate7,
   OPC_CheckType, MVT::v8i32,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i32, 2, 2, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i32, 2, 2, 3,
   0,
  48,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 18, MVT::i64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_CheckType, MVT::v8i32,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i32, 2, 3, 2,
   18, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_CheckType, MVT::v8i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i32, 2, 3, 2,
   0,
  34,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_CheckPredicate7,
   OPC_CheckType, MVT::v4i64,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i64, 2, 2, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i64, 2, 2, 3,
   0,
  24|128,2,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 5|128,1, MVT::i64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_SwitchType , 27, MVT::v4i64,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 11,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i64, 2, 3, 2,
     11,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i64, 2, 3, 1,
     0,
    12, MVT::v16i8,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 2, 3, 1,
    12, MVT::v8i16,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i16, 2, 3, 1,
    12, MVT::v4i32,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i32, 2, 3, 1,
    12, MVT::v2i64,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i64, 2, 3, 1,
    12, MVT::v32i8,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i8, 2, 3, 1,
    12, MVT::v16i16,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i16, 2, 3, 1,
    12, MVT::v8i32,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i32, 2, 3, 1,
    0,
   5|128,1, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_SwitchType , 27, MVT::v4i64,
     OPC_CheckPatternPredicate1,
     OPC_Scope, 11,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i64, 2, 3, 2,
     11,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i64, 2, 3, 1,
     0,
    12, MVT::v16i8,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 2, 3, 1,
    12, MVT::v8i16,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i16, 2, 3, 1,
    12, MVT::v4i32,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i32, 2, 3, 1,
    12, MVT::v2i64,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i64, 2, 3, 1,
    12, MVT::v32i8,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i8, 2, 3, 1,
    12, MVT::v16i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i16, 2, 3, 1,
    12, MVT::v8i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i32, 2, 3, 1,
    0,
   0,
  22|128,2,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_CheckPredicate7,
   OPC_SwitchType , 32, MVT::v16i8,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 2, 2, 3,
    0,
   32, MVT::v8i16,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i16, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i16, 2, 2, 3,
    0,
   32, MVT::v4i32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i32, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i32, 2, 2, 3,
    0,
   32, MVT::v2i64,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i64, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i64, 2, 2, 3,
    0,
   32, MVT::v32i8,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i8, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i8, 2, 2, 3,
    0,
   32, MVT::v16i16,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i16, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i16, 2, 2, 3,
    0,
   32, MVT::v8i32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i32, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i32, 2, 2, 3,
    0,
   32, MVT::v4i64,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i64, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i64, 2, 2, 3,
    0,
   0,
  83|128,2,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 36|128,1, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckPredicate3,
    OPC_SwitchType , 74, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate7,
     OPC_SwitchType , 14, 4|128,1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 2, 3, 4,
     14, 22|128,1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 2, 3, 4,
     14, 8|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                      8|128,1, 2, 3, 4,
     14, 24|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                      24|128,1, 2, 3, 4,
     0,
    74, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate7,
     OPC_SwitchType , 14, 4|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 2, 3, 4,
     14, 22|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 2, 3, 4,
     14, 8|128,1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                      8|128,1, 2, 3, 4,
     14, 24|128,1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                      24|128,1, 2, 3, 4,
     0,
    0,
   36|128,1, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckPredicate3,
    OPC_SwitchType , 74, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate7,
     OPC_SwitchType , 14, 4|128,1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 2, 3, 4,
     14, 22|128,1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 2, 3, 4,
     14, 8|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                      8|128,1, 2, 3, 4,
     14, 24|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                      24|128,1, 2, 3, 4,
     0,
    74, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate7,
     OPC_SwitchType , 14, 4|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 2, 3, 4,
     14, 22|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 2, 3, 4,
     14, 8|128,1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                      8|128,1, 2, 3, 4,
     14, 24|128,1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                      24|128,1, 2, 3, 4,
     0,
    0,
   0,
  37,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_CheckPredicate7,
   OPC_CheckType, 4|128,1,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                    4|128,1, 2, 2, 3,
   13,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                    4|128,1, 2, 2, 3,
   0,
  52,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 20, MVT::i64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                    4|128,1, 2, 3, 2,
   20, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                    4|128,1, 2, 3, 2,
   0,
  37,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_CheckPredicate7,
   OPC_CheckType, 22|128,1,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                    22|128,1, 2, 2, 3,
   13,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                    22|128,1, 2, 2, 3,
   0,
  52,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 20, MVT::i64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                    22|128,1, 2, 3, 2,
   20, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                    22|128,1, 2, 3, 2,
   0,
  37,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_CheckPredicate7,
   OPC_CheckType, 8|128,1,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                    8|128,1, 2, 2, 3,
   13,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                    8|128,1, 2, 2, 3,
   0,
  52,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 20, MVT::i64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_CheckType, 8|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                    8|128,1, 2, 3, 2,
   20, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_CheckType, 8|128,1,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                    8|128,1, 2, 3, 2,
   0,
  37,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_CheckPredicate7,
   OPC_CheckType, 24|128,1,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                    24|128,1, 2, 2, 3,
   13,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                    24|128,1, 2, 2, 3,
   0,
  56|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 86, MVT::i64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_SwitchType , 29, 24|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 12,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                      24|128,1, 2, 3, 2,
     12,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                      24|128,1, 2, 3, 1,
     0,
    13, 4|128,1,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     4|128,1, 2, 3, 1,
    13, 22|128,1,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     22|128,1, 2, 3, 1,
    13, 8|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     8|128,1, 2, 3, 1,
    0,
   86, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate7,
    OPC_SwitchType , 29, 24|128,1,
     OPC_CheckPatternPredicate1,
     OPC_Scope, 12,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                      24|128,1, 2, 3, 2,
     12,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                      24|128,1, 2, 3, 1,
     0,
    13, 4|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     4|128,1, 2, 3, 1,
    13, 22|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     22|128,1, 2, 3, 1,
    13, 8|128,1,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
                     8|128,1, 2, 3, 1,
    0,
   0,
  26|128,1,
   OPC_RecordChild1,
   OPC_CheckPredicate, 8,
   OPC_CheckPredicate7,
   OPC_SwitchType , 34, 4|128,1,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                     4|128,1, 2, 2, 3,
    15,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                     4|128,1, 2, 2, 3,
    0,
   34, 22|128,1,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                     22|128,1, 2, 2, 3,
    15,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
                     22|128,1, 2, 2, 3,
    0,
   34, 8|128,1,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                     8|128,1, 2, 2, 3,
    15,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                     8|128,1, 2, 2, 3,
    0,
   34, 24|128,1,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                     24|128,1, 2, 2, 3,
    15,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
                     24|128,1, 2, 2, 3,
    0,
   0,
  0,
 84|128,9, TARGET_VAL(ISD::ATOMIC_LOAD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 117|128,4,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 53|128,2, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckPredicate3,
    OPC_SwitchType , 14|128,1, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 16,
      OPC_CheckPredicate, 28,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     16,
      OPC_CheckPredicate, 29,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     16,
      OPC_CheckPredicate, 28,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     16,
      OPC_CheckPredicate, 29,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     17,
      OPC_CheckPredicate, 35,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate, 15,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     16,
      OPC_CheckPredicate, 28,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     16,
      OPC_CheckPredicate, 29,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     17,
      OPC_CheckPredicate, 35,
      OPC_CheckPredicate, 10,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     0,
    21|128,1, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 17,
      OPC_CheckPredicate, 28,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     17,
      OPC_CheckPredicate, 29,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     17,
      OPC_CheckPredicate, 28,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     17,
      OPC_CheckPredicate, 29,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     17,
      OPC_CheckPredicate, 35,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate, 13,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     17,
      OPC_CheckPredicate, 28,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     17,
      OPC_CheckPredicate, 29,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     18,
      OPC_CheckPredicate, 35,
      OPC_CheckPredicate, 10,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     0,
    0,
   53|128,2, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckPredicate3,
    OPC_SwitchType , 14|128,1, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 16,
      OPC_CheckPredicate, 28,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     16,
      OPC_CheckPredicate, 29,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     16,
      OPC_CheckPredicate, 28,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     16,
      OPC_CheckPredicate, 29,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     17,
      OPC_CheckPredicate, 35,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate, 15,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     16,
      OPC_CheckPredicate, 28,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     16,
      OPC_CheckPredicate, 29,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     17,
      OPC_CheckPredicate, 35,
      OPC_CheckPredicate, 10,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     0,
    21|128,1, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 17,
      OPC_CheckPredicate, 28,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     17,
      OPC_CheckPredicate, 29,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     17,
      OPC_CheckPredicate, 28,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     17,
      OPC_CheckPredicate, 29,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     17,
      OPC_CheckPredicate, 35,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate, 13,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     17,
      OPC_CheckPredicate, 28,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     17,
      OPC_CheckPredicate, 29,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     18,
      OPC_CheckPredicate, 35,
      OPC_CheckPredicate, 10,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     0,
    0,
   0,
  87|128,4,
   OPC_RecordChild1,
   OPC_Scope, 34,
    OPC_CheckPredicate, 28,
    OPC_CheckPredicate4,
    OPC_SwitchType , 12, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    13, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   34,
    OPC_CheckPredicate, 29,
    OPC_CheckPredicate4,
    OPC_SwitchType , 12, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    13, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   34,
    OPC_CheckPredicate, 28,
    OPC_CheckPredicate5,
    OPC_SwitchType , 12, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    13, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   34,
    OPC_CheckPredicate, 29,
    OPC_CheckPredicate5,
    OPC_SwitchType , 12, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    13, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   35,
    OPC_CheckPredicate, 35,
    OPC_CheckPredicate2,
    OPC_SwitchType , 13, MVT::i64,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    13, MVT::i32,
     OPC_CheckPatternPredicate, 13,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   34,
    OPC_CheckPredicate, 28,
    OPC_CheckPredicate2,
    OPC_SwitchType , 12, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    13, MVT::i32,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   34,
    OPC_CheckPredicate, 29,
    OPC_CheckPredicate2,
    OPC_SwitchType , 12, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    13, MVT::i32,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   35,
    OPC_CheckPredicate, 35,
    OPC_CheckPredicate, 10,
    OPC_SwitchType , 12, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    13, MVT::i32,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   38,
    OPC_CheckPredicate, 28,
    OPC_CheckPredicate4,
    OPC_SwitchType , 14, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    15, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   38,
    OPC_CheckPredicate, 29,
    OPC_CheckPredicate4,
    OPC_SwitchType , 14, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    15, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   38,
    OPC_CheckPredicate, 28,
    OPC_CheckPredicate5,
    OPC_SwitchType , 14, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    15, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   38,
    OPC_CheckPredicate, 29,
    OPC_CheckPredicate5,
    OPC_SwitchType , 14, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    15, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   39,
    OPC_CheckPredicate, 35,
    OPC_CheckPredicate2,
    OPC_SwitchType , 15, MVT::i64,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    15, MVT::i32,
     OPC_CheckPatternPredicate, 13,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   38,
    OPC_CheckPredicate, 28,
    OPC_CheckPredicate2,
    OPC_SwitchType , 14, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    15, MVT::i32,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   38,
    OPC_CheckPredicate, 29,
    OPC_CheckPredicate2,
    OPC_SwitchType , 14, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    15, MVT::i32,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   39,
    OPC_CheckPredicate, 35,
    OPC_CheckPredicate, 10,
    OPC_SwitchType , 14, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    15, MVT::i32,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   0,
  0,
 119|128,4, TARGET_VAL(ISD::ATOMIC_STORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 84|128,2,
   OPC_CheckChild1TypeI64,
   OPC_Scope, 39|128,1,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 79, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_Scope, 14,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     14,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16,
      OPC_CheckPredicate2,
      OPC_CheckPredicate, 36,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     17,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate, 36,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    79, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_Scope, 14,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     14,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     16,
      OPC_CheckPredicate2,
      OPC_CheckPredicate, 36,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     17,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate, 36,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   38|128,1,
    OPC_RecordChild2,
    OPC_Scope, 13,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    13,
     OPC_CheckPredicate5,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    15,
     OPC_CheckPredicate2,
     OPC_CheckPredicate, 36,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    16,
     OPC_CheckPredicate, 10,
     OPC_CheckPredicate, 36,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    15,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    15,
     OPC_CheckPredicate5,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    17,
     OPC_CheckPredicate2,
     OPC_CheckPredicate, 36,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    18,
     OPC_CheckPredicate, 10,
     OPC_CheckPredicate, 36,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    32,
     OPC_CheckChild2TypeI64,
     OPC_Scope, 13,
      OPC_CheckPredicate2,
      OPC_CheckPredicate, 45,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 1, 2,
     14,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate, 45,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 1, 2,
     0,
    0,
   0,
  26|128,2,
   OPC_CheckChild1TypeI32,
   OPC_Scope, 9|128,1,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 64, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_Scope, 15,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     15,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     17,
      OPC_CheckPredicate2,
      OPC_CheckPredicate, 36,
      OPC_CheckPatternPredicate, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    64, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_Scope, 15,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     15,
      OPC_CheckPredicate5,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     17,
      OPC_CheckPredicate2,
      OPC_CheckPredicate, 36,
      OPC_CheckPatternPredicate, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 4, 5,
     0,
    0,
   10|128,1,
    OPC_RecordChild2,
    OPC_Scope, 14,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    14,
     OPC_CheckPredicate5,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    16,
     OPC_CheckPredicate2,
     OPC_CheckPredicate, 36,
     OPC_CheckPatternPredicate, 13,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    16,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    16,
     OPC_CheckPredicate5,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    36,
     OPC_CheckPredicate2,
     OPC_Scope, 17,
      OPC_CheckPredicate, 36,
      OPC_CheckPatternPredicate, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     14,
      OPC_CheckChild2TypeI32,
      OPC_CheckPredicate, 45,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 2,
     0,
    16,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate, 10,
     OPC_CheckPredicate, 45,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 2,
    0,
   0,
  0,
 6|128,10, TARGET_VAL(ISD::ADD),
  OPC_Scope, 118,
   OPC_RecordChild0,
   OPC_Scope, 38,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckPredicate3,
    OPC_SwitchType , 12, MVT::i32,
     OPC_CheckPatternPredicate, 13,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
                     MVT::i32, 2, 2, 3,
    11, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
                     MVT::i64, 2, 2, 3,
    0,
   75,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 42,
    OPC_SwitchType , 28, MVT::i64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i64, 3, 1, 0, 3,
     10,
      OPC_CheckPatternPredicate6,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i64, 3, 1, 0, 3,
     0,
    29, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                      MVT::i32, 3, 1, 0, 3,
     11,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                      MVT::i32, 3, 1, 0, 3,
     0,
    0,
   0,
  77,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 42,
   OPC_SwitchType , 29, MVT::i64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i64, 3, 0, 2, 3,
    10,
     OPC_CheckPatternPredicate6,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i64, 3, 0, 2, 3,
    0,
   30, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
                     MVT::i32, 3, 0, 2, 3,
    11,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
                     MVT::i32, 3, 0, 2, 3,
    0,
   0,
  59|128,2,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 6|128,2,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 56,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_SwitchType , 23, MVT::i64,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
                       MVT::i64, 2, 0, 2,
      9,
       OPC_CheckPatternPredicate6,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
                       MVT::i64, 2, 0, 2,
      0,
     24, MVT::i32,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
                       MVT::i32, 2, 0, 2,
      10,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
                       MVT::i32, 2, 0, 2,
      0,
     0,
    32,
     OPC_CheckPredicate, 65,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::i64,
      OPC_CheckPatternPredicate6,
      OPC_EmitNodeXForm, 6, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDU16I_D),
                      MVT::i64, 2, 0, 2,
     12, MVT::i32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitNodeXForm, 6, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDU16I_D),
                      MVT::i32, 2, 0, 2,
     0,
    52,
     OPC_CheckPredicate, 58,
     OPC_MoveParent,
     OPC_SwitchType , 21, MVT::i64,
      OPC_CheckPatternPredicate6,
      OPC_EmitNodeXForm, 2, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDU16I_D),
                      MVT::i64, 2, 0, 2,
      OPC_EmitNodeXForm, 3, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
                      MVT::i64, 2, 3, 4,
     22, MVT::i32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitNodeXForm, 2, 1,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDU16I_D),
                      MVT::i32, 2, 0, 2,
      OPC_EmitNodeXForm, 3, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
                      MVT::i32, 2, 3, 4,
     0,
    112,
     OPC_CheckPredicate, 59,
     OPC_MoveParent,
     OPC_SwitchType , 51, MVT::i64,
      OPC_Scope, 24,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 4, 2,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
                       MVT::i64, 2, 0, 3,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 5, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
                       MVT::i64, 2, 4, 6,
      23,
       OPC_CheckPatternPredicate6,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 4, 2,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
                       MVT::i64, 2, 0, 3,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 5, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
                       MVT::i64, 2, 4, 6,
      0,
     52, MVT::i32,
      OPC_Scope, 24,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 4, 2,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
                       MVT::i32, 2, 0, 3,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 5, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
                       MVT::i32, 2, 4, 6,
      24,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 4, 2,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
                       MVT::i32, 2, 0, 3,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 5, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
                       MVT::i32, 2, 4, 6,
      0,
     0,
    0,
   22,
    OPC_CheckTypeI64,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_W),
                     MVT::i64, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_D),
                     MVT::i64, 2, 0, 1,
    0,
   23,
    OPC_CheckTypeI32,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_W),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_D),
                     MVT::i32, 2, 0, 1,
    0,
   0,
  93,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
   OPC_RecordChild0,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v16i8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_B),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_H),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_W),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_D),
                    MVT::v2i64, 2, 0, 1,
   8, MVT::v32i8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_B),
                    MVT::v32i8, 2, 0, 1,
   8, MVT::v16i16,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_H),
                    MVT::v16i16, 2, 0, 1,
   8, MVT::v8i32,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_W),
                    MVT::v8i32, 2, 0, 1,
   8, MVT::v4i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_D),
                    MVT::v4i64, 2, 0, 1,
   0,
  106|128,3,
   OPC_RecordChild0,
   OPC_Scope, 3|128,3,
    OPC_RecordChild1,
    OPC_SwitchType , 46, MVT::v16i8,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
                      MVT::v16i8, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
                      MVT::v16i8, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
                      MVT::v16i8, 2, 1, 2,
     10,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
                      MVT::v16i8, 2, 1, 2,
     0,
    46, MVT::v8i16,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
                      MVT::v8i16, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
                      MVT::v8i16, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
                      MVT::v8i16, 2, 1, 2,
     10,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
                      MVT::v8i16, 2, 1, 2,
     0,
    46, MVT::v4i32,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
                      MVT::v4i32, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
                      MVT::v4i32, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
                      MVT::v4i32, 2, 1, 2,
     10,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
                      MVT::v4i32, 2, 1, 2,
     0,
    46, MVT::v2i64,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
                      MVT::v2i64, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
                      MVT::v2i64, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
                      MVT::v2i64, 2, 1, 2,
     10,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
                      MVT::v2i64, 2, 1, 2,
     0,
    46, MVT::v32i8,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
                      MVT::v32i8, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
                      MVT::v32i8, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
                      MVT::v32i8, 2, 1, 2,
     10,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
                      MVT::v32i8, 2, 1, 2,
     0,
    46, MVT::v16i16,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
                      MVT::v16i16, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
                      MVT::v16i16, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
                      MVT::v16i16, 2, 1, 2,
     10,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
                      MVT::v16i16, 2, 1, 2,
     0,
    46, MVT::v8i32,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
                      MVT::v8i32, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
                      MVT::v8i32, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
                      MVT::v8i32, 2, 1, 2,
     10,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
                      MVT::v8i32, 2, 1, 2,
     0,
    46, MVT::v4i64,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
                      MVT::v4i64, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
                      MVT::v4i64, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
                      MVT::v4i64, 2, 1, 2,
     10,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
                      MVT::v4i64, 2, 1, 2,
     0,
    0,
   97,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_B),
                     MVT::v16i8, 3, 0, 1, 2,
    9, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_H),
                     MVT::v8i16, 3, 0, 1, 2,
    9, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_W),
                     MVT::v4i32, 3, 0, 1, 2,
    9, MVT::v2i64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_D),
                     MVT::v2i64, 3, 0, 1, 2,
    9, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_B),
                     MVT::v32i8, 3, 0, 1, 2,
    9, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_H),
                     MVT::v16i16, 3, 0, 1, 2,
    9, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_W),
                     MVT::v8i32, 3, 0, 1, 2,
    9, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_D),
                     MVT::v4i64, 3, 0, 1, 2,
    0,
   0,
  98,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::v16i8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_B),
                    MVT::v16i8, 3, 2, 0, 1,
   9, MVT::v8i16,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_H),
                    MVT::v8i16, 3, 2, 0, 1,
   9, MVT::v4i32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_W),
                    MVT::v4i32, 3, 2, 0, 1,
   9, MVT::v2i64,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_D),
                    MVT::v2i64, 3, 2, 0, 1,
   9, MVT::v32i8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_B),
                    MVT::v32i8, 3, 2, 0, 1,
   9, MVT::v16i16,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_H),
                    MVT::v16i16, 3, 2, 0, 1,
   9, MVT::v8i32,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_W),
                    MVT::v8i32, 3, 2, 0, 1,
   9, MVT::v4i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_D),
                    MVT::v4i64, 3, 2, 0, 1,
   0,
  84,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v16i8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_B),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_H),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_W),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_D),
                    MVT::v2i64, 2, 0, 1,
   8, MVT::v32i8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_B),
                    MVT::v32i8, 2, 0, 1,
   8, MVT::v16i16,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_H),
                    MVT::v16i16, 2, 0, 1,
   8, MVT::v8i32,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_W),
                    MVT::v8i32, 2, 0, 1,
   8, MVT::v4i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_D),
                    MVT::v4i64, 2, 0, 1,
   0,
  0,
 111|128,5, TARGET_VAL(ISD::INTRINSIC_VOID),
  OPC_RecordNode,
  OPC_Scope, 25,
   OPC_CheckChild1Integer, 119|128,49,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::CACOP),
                   3, 1, 2, 3,
  65,
   OPC_CheckChild1Integer, 62|128,61,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_B),
                    4, 1, 2, 5, 6,
   28,
    OPC_CheckChild3TypeI32,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_B),
                    4, 1, 2, 5, 6,
   0,
  65,
   OPC_CheckChild1Integer, 64|128,61,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_H),
                    4, 1, 2, 5, 6,
   28,
    OPC_CheckChild3TypeI32,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_H),
                    4, 1, 2, 5, 6,
   0,
  65,
   OPC_CheckChild1Integer, 65|128,61,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_W),
                    4, 1, 2, 5, 6,
   28,
    OPC_CheckChild3TypeI32,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_W),
                    4, 1, 2, 5, 6,
   0,
  65,
   OPC_CheckChild1Integer, 63|128,61,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_D),
                    4, 1, 2, 5, 6,
   28,
    OPC_CheckChild3TypeI32,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_D),
                    4, 1, 2, 5, 6,
   0,
  65,
   OPC_CheckChild1Integer, 108|128,55,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_B),
                    4, 1, 2, 5, 6,
   28,
    OPC_CheckChild3TypeI32,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_B),
                    4, 1, 2, 5, 6,
   0,
  65,
   OPC_CheckChild1Integer, 110|128,55,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_H),
                    4, 1, 2, 5, 6,
   28,
    OPC_CheckChild3TypeI32,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_H),
                    4, 1, 2, 5, 6,
   0,
  65,
   OPC_CheckChild1Integer, 111|128,55,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_W),
                    4, 1, 2, 5, 6,
   28,
    OPC_CheckChild3TypeI32,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_W),
                    4, 1, 2, 5, 6,
   0,
  65,
   OPC_CheckChild1Integer, 109|128,55,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_D),
                    4, 1, 2, 5, 6,
   28,
    OPC_CheckChild3TypeI32,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_D),
                    4, 1, 2, 5, 6,
   0,
  18,
   OPC_CheckChild1Integer, 13|128,56,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::LDPTE),
                   2, 1, 2,
  47,
   OPC_CheckChild1Integer, 61|128,61,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VST),
                    3, 1, 2, 4,
   19,
    OPC_CheckChild3TypeI32,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VST),
                    3, 1, 2, 4,
   0,
  47,
   OPC_CheckChild1Integer, 107|128,55,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVST),
                    3, 1, 2, 4,
   19,
    OPC_CheckChild3TypeI32,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVST),
                    3, 1, 2, 4,
   0,
  16,
   OPC_CheckChild1Integer, 120|128,49,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::CACOP),
                   3, 1, 2, 3,
  13,
   OPC_CheckChild1Integer, 117|128,49,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::ASRTLE_D),
                   2, 1, 2,
  13,
   OPC_CheckChild1Integer, 116|128,49,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::ASRTGT_D),
                   2, 1, 2,
  16,
   OPC_CheckChild1Integer, 66|128,61,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate3,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTX),
                   3, 1, 2, 3,
  16,
   OPC_CheckChild1Integer, 112|128,55,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate0,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTX),
                   3, 1, 2, 3,
  0,
 116|128,33, TARGET_VAL(LoongArchISD::BRCOND),
  OPC_RecordNode,
  OPC_MoveChild1,
  OPC_SwitchOpcode , 117|128,22, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
   OPC_RecordChild0,
   OPC_Scope, 53|128,11,
    OPC_CheckChild0Type, MVT::f32,
    OPC_RecordChild1,
    OPC_Scope, 111,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETOLT,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETOLE,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETONE,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETO,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETUNE,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETUO,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    0,
   53|128,11,
    OPC_CheckChild0Type, MVT::f64,
    OPC_RecordChild1,
    OPC_Scope, 111,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETOLT,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETOLE,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETONE,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETO,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETUNE,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETUO,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    111,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_Scope, 52,
      OPC_CheckChild1Integer, 127,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     52,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 22, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                       MVT::i64, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      22, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
       OPC_RecordNode,
       OPC_MoveParent,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                       MVT::i32, 2, 1, 2,
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
                       2, 4, 3,
      0,
     0,
    0,
   0,
  115|128,10, TARGET_VAL(ISD::SETCC),
   OPC_RecordChild0,
   OPC_Scope, 54|128,5,
    OPC_CheckChild0Type, MVT::f32,
    OPC_RecordChild1,
    OPC_Scope, 52,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETOLT,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETOLE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETONE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETO,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETUNE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETUO,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    0,
   54|128,5,
    OPC_CheckChild0Type, MVT::f64,
    OPC_RecordChild1,
    OPC_Scope, 52,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETOLT,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETOLE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETONE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETO,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETUNE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETUO,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     22, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
                      2, 4, 3,
     0,
    0,
   0,
  0,
 66|128,16, TARGET_VAL(ISD::XOR),
  OPC_Scope, 32,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 127,
   OPC_SwitchType , 8, MVT::i64,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::NOR),
                    MVT::i64, 2, 0, 1,
   9, MVT::i32,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::NOR),
                    MVT::i32, 2, 0, 1,
   0,
  25|128,2,
   OPC_RecordChild0,
   OPC_Scope, 29,
    OPC_CheckChild1Integer, 127,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_EmitRegisterI64, LoongArch::R0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::NOR),
                     MVT::i64, 2, 0, 1,
    11, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitRegisterI32, LoongArch::R0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::NOR),
                     MVT::i32, 2, 0, 1,
    0,
   57,
    OPC_RecordChild1,
    OPC_Scope, 32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 48,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::i64,
      OPC_CheckPatternPredicate7,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
                      MVT::i64, 2, 0, 2,
     10, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
                      MVT::i32, 2, 0, 2,
     0,
    9,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XOR),
                     MVT::i64, 2, 0, 1,
    10,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XOR),
                     MVT::i32, 2, 0, 1,
    0,
   60|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 13,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 19|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
     OPC_Scope, 17,
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
                      MVT::v16i8, 2, 0, 1,
     17,
      OPC_CheckPredicate, 16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
                      MVT::v8i16, 2, 0, 1,
     17,
      OPC_CheckPredicate, 17,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
                      MVT::v4i32, 2, 0, 1,
     15,
      OPC_CheckPredicate, 18,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
                      MVT::v2i64, 2, 0, 1,
     15,
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
                      MVT::v32i8, 2, 0, 1,
     17,
      OPC_CheckPredicate, 16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i16,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
                      MVT::v16i16, 2, 0, 1,
     17,
      OPC_CheckPredicate, 17,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i32,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
                      MVT::v8i32, 2, 0, 1,
     17,
      OPC_CheckPredicate, 18,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i64,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
                      MVT::v4i64, 2, 0, 1,
     0,
    22,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   0,
  64,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
                    MVT::v16i8, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
                    MVT::v16i8, 2, 1, 0,
   0,
  37,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v8i16,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
                   MVT::v8i16, 2, 0, 1,
  64,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
                    MVT::v8i16, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
                    MVT::v8i16, 2, 1, 0,
   0,
  37,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
                   MVT::v4i32, 2, 0, 1,
  64,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
                    MVT::v4i32, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
                    MVT::v4i32, 2, 1, 0,
   0,
  35,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
                   MVT::v2i64, 2, 0, 1,
  60,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 21,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 18,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
                    MVT::v2i64, 2, 1, 0,
   21,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 18,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
                    MVT::v2i64, 2, 1, 0,
   0,
  35,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 15,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
                   MVT::v32i8, 2, 0, 1,
  60,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 21,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v32i8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
                    MVT::v32i8, 2, 1, 0,
   21,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v32i8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
                    MVT::v32i8, 2, 1, 0,
   0,
  37,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v16i16,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
                   MVT::v16i16, 2, 0, 1,
  64,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i16,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
                    MVT::v16i16, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i16,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
                    MVT::v16i16, 2, 1, 0,
   0,
  37,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v8i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
                   MVT::v8i32, 2, 0, 1,
  64,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i32,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
                    MVT::v8i32, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i32,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
                    MVT::v8i32, 2, 1, 0,
   0,
  37,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
                   MVT::v4i64, 2, 0, 1,
  84|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 60, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 13,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 23,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
                     MVT::v4i64, 2, 1, 0,
    23,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
                     MVT::v4i64, 2, 1, 0,
    0,
   14|128,1, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_SwitchType , 55, MVT::v16i8,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
                      MVT::v16i8, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
                      MVT::v16i8, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
                      MVT::v16i8, 2, 1, 2,
     10,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
                      MVT::v16i8, 2, 1, 2,
     8,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
                      MVT::v16i8, 2, 0, 1,
     0,
    46, MVT::v32i8,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
                      MVT::v32i8, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
                      MVT::v32i8, 2, 0, 2,
     10,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
                      MVT::v32i8, 2, 1, 2,
     10,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
                      MVT::v32i8, 2, 1, 2,
     0,
    8, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
                     MVT::v8i16, 2, 0, 1,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
                     MVT::v4i32, 2, 0, 1,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
                     MVT::v2i64, 2, 0, 1,
    0,
   0,
  69,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_Scope, 13,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
                    MVT::v16i8, 2, 0, 1,
   13,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
                    MVT::v8i16, 2, 0, 1,
   13,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
                    MVT::v4i32, 2, 0, 1,
   11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  51,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveSibling1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v32i8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
                    MVT::v32i8, 2, 0, 1,
   8, MVT::v16i16,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
                    MVT::v16i16, 2, 0, 1,
   8, MVT::v8i32,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
                    MVT::v8i32, 2, 0, 1,
   8, MVT::v4i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
                    MVT::v4i64, 2, 0, 1,
   0,
  69,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_Scope, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v32i8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
                    MVT::v32i8, 2, 0, 1,
   13,
    OPC_CheckChild1Type, MVT::v16i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i16,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
                    MVT::v16i16, 2, 0, 1,
   13,
    OPC_CheckChild1Type, MVT::v8i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i32,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
                    MVT::v8i32, 2, 0, 1,
   13,
    OPC_CheckChild1Type, MVT::v4i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
                    MVT::v4i64, 2, 0, 1,
   0,
  1|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_Scope, 14,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
                    MVT::v16i8, 2, 1, 0,
   14,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
                    MVT::v8i16, 2, 1, 0,
   14,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
                    MVT::v4i32, 2, 1, 0,
   24,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::v2i64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
                     MVT::v2i64, 2, 1, 0,
    8, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
                     MVT::v32i8, 2, 1, 0,
    0,
   14,
    OPC_CheckChild1Type, MVT::v16i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i16,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
                    MVT::v16i16, 2, 1, 0,
   14,
    OPC_CheckChild1Type, MVT::v8i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i32,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
                    MVT::v8i32, 2, 1, 0,
   14,
    OPC_CheckChild1Type, MVT::v4i64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
                    MVT::v4i64, 2, 1, 0,
   0,
  36|128,4,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 99, MVT::v16i8,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
                     MVT::v16i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
                     MVT::v16i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
                     MVT::v16i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
                     MVT::v16i8, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
                     MVT::v16i8, 2, 0, 1,
    0,
   55, MVT::v8i16,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
                     MVT::v8i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
                     MVT::v8i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
                     MVT::v8i16, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
                     MVT::v8i16, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
                     MVT::v8i16, 2, 0, 1,
    0,
   55, MVT::v4i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
                     MVT::v4i32, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
                     MVT::v4i32, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
                     MVT::v4i32, 2, 0, 1,
    0,
   55, MVT::v2i64,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
                     MVT::v2i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
                     MVT::v2i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
                     MVT::v2i64, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
                     MVT::v2i64, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
                     MVT::v2i64, 2, 0, 1,
    0,
   99, MVT::v32i8,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
                     MVT::v32i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
                     MVT::v32i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
                     MVT::v32i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
                     MVT::v32i8, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
                     MVT::v32i8, 2, 0, 1,
    0,
   55, MVT::v16i16,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
                     MVT::v16i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
                     MVT::v16i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
                     MVT::v16i16, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
                     MVT::v16i16, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
                     MVT::v16i16, 2, 0, 1,
    0,
   55, MVT::v8i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
                     MVT::v8i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
                     MVT::v8i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
                     MVT::v8i32, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
                     MVT::v8i32, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
                     MVT::v8i32, 2, 0, 1,
    0,
   55, MVT::v4i64,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
                     MVT::v4i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
                     MVT::v4i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
                     MVT::v4i64, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat5, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
                     MVT::v4i64, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
                     MVT::v4i64, 2, 0, 1,
    0,
   0,
  0,
 17|128,6, TARGET_VAL(ISD::AND),
  OPC_Scope, 32,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::i64,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDN),
                    MVT::i64, 2, 0, 1,
   9, MVT::i32,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDN),
                    MVT::i32, 2, 0, 1,
   0,
  32,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::i64,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDN),
                    MVT::i64, 2, 1, 0,
   9, MVT::i32,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDN),
                    MVT::i32, 2, 1, 0,
   0,
  75|128,5,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 8|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 28,
     OPC_CheckPredicate, 48,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::i64,
      OPC_CheckPatternPredicate7,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDI),
                      MVT::i64, 2, 0, 2,
     10, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDI),
                      MVT::i32, 2, 0, 2,
     0,
    100,
     OPC_CheckPredicate, 66,
     OPC_MoveParent,
     OPC_SwitchType , 45, MVT::i64,
      OPC_Scope, 21,
       OPC_CheckPatternPredicate, 20,
       OPC_EmitRegisterI64, LoongArch::R0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 8, 3,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 9, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_W),
                       MVT::i64, 4, 0, 2, 4, 6,
      20,
       OPC_CheckPatternPredicate6,
       OPC_EmitRegisterI64, LoongArch::R0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 8, 3,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 9, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_D),
                       MVT::i64, 4, 0, 2, 4, 6,
      0,
     46, MVT::i32,
      OPC_Scope, 21,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitRegisterI32, LoongArch::R0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 8, 3,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 9, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_W),
                       MVT::i32, 4, 0, 2, 4, 6,
      21,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitRegisterI32, LoongArch::R0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 8, 3,
       OPC_EmitConvertToTarget1,
       OPC_EmitNodeXForm, 9, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_D),
                       MVT::i32, 4, 0, 2, 4, 6,
      0,
     0,
    0,
   9,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::AND),
                    MVT::i64, 2, 0, 1,
   10,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::AND),
                    MVT::i32, 2, 0, 1,
   101,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
                     MVT::v16i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
                     MVT::v16i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
                     MVT::v16i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
                     MVT::v16i8, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
                     MVT::v16i8, 2, 0, 1,
    0,
   57,
    OPC_CheckType, MVT::v8i16,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
                     MVT::v8i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
                     MVT::v8i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
                     MVT::v8i16, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
                     MVT::v8i16, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
                     MVT::v8i16, 2, 0, 1,
    0,
   57,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
                     MVT::v4i32, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
                     MVT::v4i32, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
                     MVT::v4i32, 2, 0, 1,
    0,
   57,
    OPC_CheckType, MVT::v2i64,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
                     MVT::v2i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
                     MVT::v2i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
                     MVT::v2i64, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
                     MVT::v2i64, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
                     MVT::v2i64, 2, 0, 1,
    0,
   101,
    OPC_CheckType, MVT::v32i8,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
                     MVT::v32i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
                     MVT::v32i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
                     MVT::v32i8, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
                     MVT::v32i8, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
                     MVT::v32i8, 2, 0, 1,
    0,
   57,
    OPC_CheckType, MVT::v16i16,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
                     MVT::v16i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
                     MVT::v16i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
                     MVT::v16i16, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
                     MVT::v16i16, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
                     MVT::v16i16, 2, 0, 1,
    0,
   57,
    OPC_CheckType, MVT::v8i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
                     MVT::v8i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
                     MVT::v8i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
                     MVT::v8i32, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
                     MVT::v8i32, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
                     MVT::v8i32, 2, 0, 1,
    0,
   57,
    OPC_CheckType, MVT::v4i64,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
                     MVT::v4i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
                     MVT::v4i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
                     MVT::v4i64, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
                     MVT::v4i64, 2, 1, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
                     MVT::v4i64, 2, 0, 1,
    0,
   0,
  0,
 65|128,1, TARGET_VAL(ISD::CTLZ),
  OPC_Scope, 56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_SwitchType , 21, MVT::i64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_D),
                     MVT::i64, 1, 0,
    8,
     OPC_CheckPatternPredicate, 20,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_W),
                     MVT::i64, 1, 0,
    0,
   22, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_D),
                     MVT::i32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_W),
                     MVT::i32, 1, 0,
    0,
   0,
  4|128,1,
   OPC_RecordChild0,
   OPC_SwitchType , 20, MVT::i64,
    OPC_CheckChild0TypeI64,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_D),
                     MVT::i64, 1, 0,
    8,
     OPC_CheckPatternPredicate, 20,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_W),
                     MVT::i64, 1, 0,
    0,
   21, MVT::i32,
    OPC_CheckChild0TypeI32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_D),
                     MVT::i32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_W),
                     MVT::i32, 1, 0,
    0,
   9, MVT::v16i8,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_B),
                    MVT::v16i8, 1, 0,
   9, MVT::v8i16,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_H),
                    MVT::v8i16, 1, 0,
   9, MVT::v4i32,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_W),
                    MVT::v4i32, 1, 0,
   7, MVT::v2i64,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_D),
                    MVT::v2i64, 1, 0,
   7, MVT::v32i8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_B),
                    MVT::v32i8, 1, 0,
   9, MVT::v16i16,
    OPC_CheckChild0Type, MVT::v16i16,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_H),
                    MVT::v16i16, 1, 0,
   9, MVT::v8i32,
    OPC_CheckChild0Type, MVT::v8i32,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_W),
                    MVT::v8i32, 1, 0,
   9, MVT::v4i64,
    OPC_CheckChild0Type, MVT::v4i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_D),
                    MVT::v4i64, 1, 0,
   0,
  0,
 108, TARGET_VAL(ISD::CTTZ),
  OPC_Scope, 56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_SwitchType , 21, MVT::i64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_D),
                     MVT::i64, 1, 0,
    8,
     OPC_CheckPatternPredicate, 20,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_W),
                     MVT::i64, 1, 0,
    0,
   22, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_D),
                     MVT::i32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_W),
                     MVT::i32, 1, 0,
    0,
   0,
  48,
   OPC_RecordChild0,
   OPC_SwitchType , 20, MVT::i64,
    OPC_CheckChild0TypeI64,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_D),
                     MVT::i64, 1, 0,
    8,
     OPC_CheckPatternPredicate, 20,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_W),
                     MVT::i64, 1, 0,
    0,
   21, MVT::i32,
    OPC_CheckChild0TypeI32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_D),
                     MVT::i32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_W),
                     MVT::i32, 1, 0,
    0,
   0,
  0,
 60, TARGET_VAL(LoongArchISD::CLZ_W),
  OPC_Scope, 32,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_SwitchType , 9, MVT::i64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_W),
                    MVT::i64, 1, 0,
   10, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_W),
                    MVT::i32, 1, 0,
   0,
  24,
   OPC_RecordChild0,
   OPC_SwitchType , 8, MVT::i64,
    OPC_CheckChild0TypeI64,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_W),
                    MVT::i64, 1, 0,
   9, MVT::i32,
    OPC_CheckChild0TypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_W),
                    MVT::i32, 1, 0,
   0,
  0,
 60, TARGET_VAL(LoongArchISD::CTZ_W),
  OPC_Scope, 32,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_SwitchType , 9, MVT::i64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_W),
                    MVT::i64, 1, 0,
   10, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_W),
                    MVT::i32, 1, 0,
   0,
  24,
   OPC_RecordChild0,
   OPC_SwitchType , 8, MVT::i64,
    OPC_CheckChild0TypeI64,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_W),
                    MVT::i64, 1, 0,
   9, MVT::i32,
    OPC_CheckChild0TypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_W),
                    MVT::i32, 1, 0,
   0,
  0,
 114, TARGET_VAL(LoongArchISD::BSTRINS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_Scope, 52,
   OPC_CheckPredicate, 25,
   OPC_SwitchType , 22, MVT::i64,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 20,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_W),
                    MVT::i64, 4, 0, 1, 4, 5,
   22, MVT::i32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_W),
                    MVT::i32, 4, 0, 1, 4, 5,
   0,
  51,
   OPC_CheckPredicate, 34,
   OPC_SwitchType , 21, MVT::i64,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 34,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate6,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_D),
                    MVT::i64, 4, 0, 1, 4, 5,
   22, MVT::i32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 34,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_D),
                    MVT::i32, 4, 0, 1, 4, 5,
   0,
  0,
 127, TARGET_VAL(ISD::ATOMIC_FENCE),
  OPC_RecordNode,
  OPC_Scope, 30,
   OPC_CheckChild1Integer, 4,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 20,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
                    1, 1,
   10,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 20,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
                    1, 1,
   0,
  30,
   OPC_CheckChild1Integer, 5,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 18,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
                    1, 1,
   10,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 18,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
                    1, 1,
   0,
  30,
   OPC_CheckChild1Integer, 6,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 16,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
                    1, 1,
   10,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 16,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
                    1, 1,
   0,
  30,
   OPC_CheckChild1Integer, 7,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 16,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
                    1, 1,
   10,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 16,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
                    1, 1,
   0,
  0,
 14|128,8, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
  OPC_RecordNode,
  OPC_Scope, 25,
   OPC_CheckChild1Integer, 109|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicSwap32),
                   MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
  25,
   OPC_CheckChild1Integer, 95|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadAdd32),
                   MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
  25,
   OPC_CheckChild1Integer, 103|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadSub32),
                   MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
  25,
   OPC_CheckChild1Integer, 101|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadNand32),
                   MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
  28,
   OPC_CheckChild1Integer, 105|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMax32), 0|OPFL_Chain,
                  3, MVT::i64, MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
  28,
   OPC_CheckChild1Integer, 107|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMin32), 0|OPFL_Chain,
                  3, MVT::i64, MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
  27,
   OPC_CheckChild1Integer, 111|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedCmpXchg32),
                   MVT::i64, MVT::i64, 5, 1, 2, 3, 4, 5,
  30,
   OPC_CheckChild1Integer, 97|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMax32), 0|OPFL_Chain,
                  3, MVT::i64, MVT::i64, MVT::i64, 5, 1, 2, 3, 4, 5,
  30,
   OPC_CheckChild1Integer, 99|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMin32), 0|OPFL_Chain,
                  3, MVT::i64, MVT::i64, MVT::i64, 5, 1, 2, 3, 4, 5,
  26,
   OPC_CheckChild1Integer, 108|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicSwap32),
                   MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
  26,
   OPC_CheckChild1Integer, 94|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadAdd32),
                   MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
  26,
   OPC_CheckChild1Integer, 102|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadSub32),
                   MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
  26,
   OPC_CheckChild1Integer, 100|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadNand32),
                   MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
  29,
   OPC_CheckChild1Integer, 104|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMax32), 0|OPFL_Chain,
                  3, MVT::i32, MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
  29,
   OPC_CheckChild1Integer, 106|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMin32), 0|OPFL_Chain,
                  3, MVT::i32, MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
  31,
   OPC_CheckChild1Integer, 96|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMax32), 0|OPFL_Chain,
                  3, MVT::i32, MVT::i32, MVT::i32, 5, 1, 2, 3, 4, 5,
  31,
   OPC_CheckChild1Integer, 98|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMin32), 0|OPFL_Chain,
                  3, MVT::i32, MVT::i32, MVT::i32, 5, 1, 2, 3, 4, 5,
  28,
   OPC_CheckChild1Integer, 110|128,61,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedCmpXchg32),
                   MVT::i32, MVT::i32, 5, 1, 2, 3, 4, 5,
  19,
   OPC_CheckChild1Integer, 12|128,56,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::LDDIR),
                   MVT::i64, 2, 1, 2,
  46,
   OPC_CheckChild1Integer, 56|128,58,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLD),
                    MVT::v16i8, 2, 1, 3,
   19,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLD),
                    MVT::v16i8, 2, 1, 3,
   0,
  46,
   OPC_CheckChild1Integer, 58|128,58,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_B),
                    MVT::v16i8, 2, 1, 3,
   19,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_B),
                    MVT::v16i8, 2, 1, 3,
   0,
  46,
   OPC_CheckChild1Integer, 60|128,58,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_H),
                    MVT::v8i16, 2, 1, 3,
   19,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_H),
                    MVT::v8i16, 2, 1, 3,
   0,
  46,
   OPC_CheckChild1Integer, 61|128,58,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_W),
                    MVT::v4i32, 2, 1, 3,
   19,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_W),
                    MVT::v4i32, 2, 1, 3,
   0,
  46,
   OPC_CheckChild1Integer, 59|128,58,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_D),
                    MVT::v2i64, 2, 1, 3,
   19,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_D),
                    MVT::v2i64, 2, 1, 3,
   0,
  46,
   OPC_CheckChild1Integer, 94|128,52,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLD),
                    MVT::v32i8, 2, 1, 3,
   19,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLD),
                    MVT::v32i8, 2, 1, 3,
   0,
  46,
   OPC_CheckChild1Integer, 96|128,52,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_B),
                    MVT::v32i8, 2, 1, 3,
   19,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_B),
                    MVT::v32i8, 2, 1, 3,
   0,
  46,
   OPC_CheckChild1Integer, 98|128,52,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_H),
                    MVT::v16i16, 2, 1, 3,
   19,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_H),
                    MVT::v16i16, 2, 1, 3,
   0,
  46,
   OPC_CheckChild1Integer, 99|128,52,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_W),
                    MVT::v8i32, 2, 1, 3,
   19,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_W),
                    MVT::v8i32, 2, 1, 3,
   0,
  46,
   OPC_CheckChild1Integer, 97|128,52,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_D),
                    MVT::v4i64, 2, 1, 3,
   19,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_D),
                    MVT::v4i64, 2, 1, 3,
   0,
  15,
   OPC_CheckChild1Integer, 62|128,58,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate3,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDX),
                   MVT::v16i8, 2, 1, 2,
  15,
   OPC_CheckChild1Integer, 100|128,52,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDX),
                   MVT::v32i8, 2, 1, 2,
  0,
 92|128,41|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
  OPC_Scope, 21,
   OPC_CheckChild0Integer, 81|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate3,
   OPC_EmitNodeXForm, 7, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_D),
                   MVT::i64, 2, 0, 2,
  21,
   OPC_CheckChild0Integer, 82|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate3,
   OPC_EmitNodeXForm, 7, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_DU),
                   MVT::i64, 2, 0, 2,
  21,
   OPC_CheckChild0Integer, 124|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNodeXForm, 7, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_D),
                   MVT::i64, 2, 0, 2,
  21,
   OPC_CheckChild0Integer, 125|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNodeXForm, 7, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_DU),
                   MVT::i64, 2, 0, 2,
  12,
   OPC_CheckChild0Integer, 10|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIPE_S),
                   MVT::f32, 1, 0,
  12,
   OPC_CheckChild0Integer, 12|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRTE_S),
                   MVT::f32, 1, 0,
  12,
   OPC_CheckChild0Integer, 9|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIPE_D),
                   MVT::f64, 1, 0,
  12,
   OPC_CheckChild0Integer, 11|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRTE_D),
                   MVT::f64, 1, 0,
  33,
   OPC_CheckChild0Integer, 57|128,58,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VLDI),
                    MVT::v2i64, 1, 1,
   10,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VLDI),
                    MVT::v2i64, 1, 1,
   0,
  33,
   OPC_CheckChild0Integer, 91|128,59,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_B),
                    MVT::v16i8, 1, 1,
   10,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_B),
                    MVT::v16i8, 1, 1,
   0,
  33,
   OPC_CheckChild0Integer, 93|128,59,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_H),
                    MVT::v8i16, 1, 1,
   10,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_H),
                    MVT::v8i16, 1, 1,
   0,
  33,
   OPC_CheckChild0Integer, 94|128,59,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_W),
                    MVT::v4i32, 1, 1,
   10,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_W),
                    MVT::v4i32, 1, 1,
   0,
  33,
   OPC_CheckChild0Integer, 92|128,59,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_D),
                    MVT::v2i64, 1, 1,
   10,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_D),
                    MVT::v2i64, 1, 1,
   0,
  36,
   OPC_CheckChild0Integer, 119|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_B),
                    MVT::v16i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_B),
                    MVT::v16i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 120|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_BU),
                    MVT::v16i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_BU),
                    MVT::v16i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 54|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
                    MVT::v16i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
                    MVT::v16i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 107|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_B),
                    MVT::v16i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_B),
                    MVT::v16i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 45|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_H_B),
                    MVT::v8i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_H_B),
                    MVT::v8i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 46|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_HU_BU),
                    MVT::v8i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_HU_BU),
                    MVT::v8i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 114|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_B),
                    MVT::v16i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_B),
                    MVT::v16i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 84|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_B),
                    MVT::v16i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_B),
                    MVT::v16i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 3|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
                    MVT::v16i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
                    MVT::v16i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 27|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
                    MVT::v16i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
                    MVT::v16i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 28|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
                    MVT::v16i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
                    MVT::v16i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 57|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
                    MVT::v16i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
                    MVT::v16i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 58|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
                    MVT::v16i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
                    MVT::v16i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 99|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_B),
                    MVT::v16i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_B),
                    MVT::v16i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 114|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
                    MVT::v16i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
                    MVT::v16i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 115|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
                    MVT::v16i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
                    MVT::v16i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 11|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
                    MVT::v16i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
                    MVT::v16i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 123|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_H),
                    MVT::v8i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_H),
                    MVT::v8i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 124|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_HU),
                    MVT::v8i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_HU),
                    MVT::v8i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 109|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_H),
                    MVT::v8i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_H),
                    MVT::v8i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 47|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_W_H),
                    MVT::v4i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_W_H),
                    MVT::v4i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 48|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_WU_HU),
                    MVT::v4i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_WU_HU),
                    MVT::v4i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 116|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_H),
                    MVT::v8i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_H),
                    MVT::v8i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 86|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_H),
                    MVT::v8i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_H),
                    MVT::v8i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 5|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
                    MVT::v8i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
                    MVT::v8i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 31|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
                    MVT::v8i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
                    MVT::v8i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 32|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
                    MVT::v8i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
                    MVT::v8i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 61|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
                    MVT::v8i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
                    MVT::v8i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 62|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
                    MVT::v8i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
                    MVT::v8i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 101|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_H),
                    MVT::v8i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_H),
                    MVT::v8i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 13|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_H),
                    MVT::v8i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_H),
                    MVT::v8i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 125|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_W),
                    MVT::v4i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_W),
                    MVT::v4i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 126|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_WU),
                    MVT::v4i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_WU),
                    MVT::v4i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 110|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_W),
                    MVT::v4i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_W),
                    MVT::v4i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 43|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_D_W),
                    MVT::v2i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_D_W),
                    MVT::v2i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 44|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_DU_WU),
                    MVT::v2i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_DU_WU),
                    MVT::v2i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 117|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_W),
                    MVT::v4i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_W),
                    MVT::v4i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 87|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_W),
                    MVT::v4i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_W),
                    MVT::v4i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 6|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
                    MVT::v4i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
                    MVT::v4i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 33|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
                    MVT::v4i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
                    MVT::v4i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 34|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
                    MVT::v4i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
                    MVT::v4i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 63|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
                    MVT::v4i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
                    MVT::v4i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 64|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
                    MVT::v4i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
                    MVT::v4i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 102|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                    MVT::v4i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                    MVT::v4i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 14|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
                    MVT::v4i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
                    MVT::v4i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 121|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_D),
                    MVT::v2i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_D),
                    MVT::v2i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 122|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_DU),
                    MVT::v2i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_DU),
                    MVT::v2i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 108|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_D),
                    MVT::v2i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_D),
                    MVT::v2i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 115|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_D),
                    MVT::v2i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_D),
                    MVT::v2i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 85|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_D),
                    MVT::v2i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_D),
                    MVT::v2i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 4|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
                    MVT::v2i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
                    MVT::v2i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 29|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
                    MVT::v2i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
                    MVT::v2i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 30|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
                    MVT::v2i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
                    MVT::v2i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 59|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
                    MVT::v2i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
                    MVT::v2i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 60|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
                    MVT::v2i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
                    MVT::v2i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 100|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                    MVT::v2i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                    MVT::v2i64, 2, 0, 2,
   0,
  39,
   OPC_CheckChild0Integer, 106|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_B_H),
                    MVT::v16i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_B_H),
                    MVT::v16i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 76|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_B_H),
                    MVT::v16i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_B_H),
                    MVT::v16i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 121|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_B_H),
                    MVT::v16i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_B_H),
                    MVT::v16i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 91|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_B_H),
                    MVT::v16i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_B_H),
                    MVT::v16i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 31|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_B_H),
                    MVT::v16i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_B_H),
                    MVT::v16i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 3|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_B_H),
                    MVT::v16i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_B_H),
                    MVT::v16i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 32|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_BU_H),
                    MVT::v16i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_BU_H),
                    MVT::v16i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 4|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_BU_H),
                    MVT::v16i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_BU_H),
                    MVT::v16i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 45|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_B_H),
                    MVT::v16i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_B_H),
                    MVT::v16i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 17|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_B_H),
                    MVT::v16i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_B_H),
                    MVT::v16i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 46|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_BU_H),
                    MVT::v16i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_BU_H),
                    MVT::v16i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 18|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_BU_H),
                    MVT::v16i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_BU_H),
                    MVT::v16i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 121|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_B),
                    MVT::v16i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_B),
                    MVT::v16i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 105|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
                    MVT::v16i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
                    MVT::v16i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 14|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                    MVT::v16i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                    MVT::v16i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 108|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_H_W),
                    MVT::v8i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_H_W),
                    MVT::v8i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 78|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_H_W),
                    MVT::v8i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_H_W),
                    MVT::v8i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 123|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_H_W),
                    MVT::v8i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_H_W),
                    MVT::v8i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 93|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_H_W),
                    MVT::v8i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_H_W),
                    MVT::v8i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 35|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_H_W),
                    MVT::v8i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_H_W),
                    MVT::v8i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 7|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_H_W),
                    MVT::v8i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_H_W),
                    MVT::v8i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 36|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_HU_W),
                    MVT::v8i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_HU_W),
                    MVT::v8i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 8|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_HU_W),
                    MVT::v8i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_HU_W),
                    MVT::v8i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 49|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_H_W),
                    MVT::v8i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_H_W),
                    MVT::v8i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 21|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_H_W),
                    MVT::v8i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_H_W),
                    MVT::v8i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 50|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_HU_W),
                    MVT::v8i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_HU_W),
                    MVT::v8i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 22|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_HU_W),
                    MVT::v8i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_HU_W),
                    MVT::v8i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 122|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_H),
                    MVT::v8i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_H),
                    MVT::v8i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 16|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                    MVT::v8i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                    MVT::v8i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 109|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_W_D),
                    MVT::v4i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_W_D),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 79|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_W_D),
                    MVT::v4i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_W_D),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 124|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_W_D),
                    MVT::v4i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_W_D),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 94|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_W_D),
                    MVT::v4i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_W_D),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 37|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_W_D),
                    MVT::v4i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_W_D),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 9|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_W_D),
                    MVT::v4i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_W_D),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 38|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_WU_D),
                    MVT::v4i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_WU_D),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 10|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_WU_D),
                    MVT::v4i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_WU_D),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 51|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_W_D),
                    MVT::v4i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_W_D),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 23|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_W_D),
                    MVT::v4i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_W_D),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 52|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_WU_D),
                    MVT::v4i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_WU_D),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 24|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_WU_D),
                    MVT::v4i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_WU_D),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 70|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPERMI_W),
                    MVT::v4i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPERMI_W),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 17|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                    MVT::v4i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 107|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_D_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_D_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 77|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_D_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_D_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 122|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_D_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_D_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 92|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_D_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_D_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 33|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_D_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_D_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 5|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_D_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_D_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 34|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_DU_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_DU_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 6|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_DU_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_DU_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 47|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_D_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_D_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 19|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_D_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_D_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 48|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_DU_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_DU_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 20|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_DU_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_DU_Q),
                    MVT::v2i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 12|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
                    MVT::v2i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
                    MVT::v2i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 15|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                    MVT::v2i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate4,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                    MVT::v2i64, 3, 0, 1, 3,
   0,
  33,
   OPC_CheckChild0Integer, 95|128,52,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVLDI),
                    MVT::v4i64, 1, 1,
   10,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVLDI),
                    MVT::v4i64, 1, 1,
   0,
  33,
   OPC_CheckChild0Integer, 8|128,54,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_B),
                    MVT::v32i8, 1, 1,
   10,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_B),
                    MVT::v32i8, 1, 1,
   0,
  33,
   OPC_CheckChild0Integer, 10|128,54,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_H),
                    MVT::v16i16, 1, 1,
   10,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_H),
                    MVT::v16i16, 1, 1,
   0,
  33,
   OPC_CheckChild0Integer, 11|128,54,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_W),
                    MVT::v8i32, 1, 1,
   10,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_W),
                    MVT::v8i32, 1, 1,
   0,
  33,
   OPC_CheckChild0Integer, 9|128,54,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_D),
                    MVT::v4i64, 1, 1,
   10,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_D),
                    MVT::v4i64, 1, 1,
   0,
  36,
   OPC_CheckChild0Integer, 37|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_B),
                    MVT::v32i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_B),
                    MVT::v32i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 38|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_BU),
                    MVT::v32i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_BU),
                    MVT::v32i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 92|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
                    MVT::v32i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
                    MVT::v32i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 25|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_B),
                    MVT::v32i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_B),
                    MVT::v32i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 91|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_H_B),
                    MVT::v16i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_H_B),
                    MVT::v16i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 92|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_HU_BU),
                    MVT::v16i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_HU_BU),
                    MVT::v16i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 32|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_B),
                    MVT::v32i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_B),
                    MVT::v32i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 2|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_B),
                    MVT::v32i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_B),
                    MVT::v32i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 49|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
                    MVT::v32i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
                    MVT::v32i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 73|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
                    MVT::v32i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
                    MVT::v32i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 74|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
                    MVT::v32i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
                    MVT::v32i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 103|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
                    MVT::v32i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
                    MVT::v32i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 104|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
                    MVT::v32i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
                    MVT::v32i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 0|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_B),
                    MVT::v32i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_B),
                    MVT::v32i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 24|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
                    MVT::v32i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
                    MVT::v32i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 25|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
                    MVT::v32i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
                    MVT::v32i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 57|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
                    MVT::v32i8, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
                    MVT::v32i8, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 41|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_H),
                    MVT::v16i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_H),
                    MVT::v16i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 42|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_HU),
                    MVT::v16i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_HU),
                    MVT::v16i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 27|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_H),
                    MVT::v16i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_H),
                    MVT::v16i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 93|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_W_H),
                    MVT::v8i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_W_H),
                    MVT::v8i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 94|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_WU_HU),
                    MVT::v8i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_WU_HU),
                    MVT::v8i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 34|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_H),
                    MVT::v16i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_H),
                    MVT::v16i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 4|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_H),
                    MVT::v16i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_H),
                    MVT::v16i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 51|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
                    MVT::v16i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
                    MVT::v16i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 77|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
                    MVT::v16i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
                    MVT::v16i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 78|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
                    MVT::v16i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
                    MVT::v16i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 107|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
                    MVT::v16i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
                    MVT::v16i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 108|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
                    MVT::v16i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
                    MVT::v16i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 2|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_H),
                    MVT::v16i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_H),
                    MVT::v16i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 59|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_H),
                    MVT::v16i16, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_H),
                    MVT::v16i16, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 43|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_W),
                    MVT::v8i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_W),
                    MVT::v8i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 44|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_WU),
                    MVT::v8i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_WU),
                    MVT::v8i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 28|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_W),
                    MVT::v8i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_W),
                    MVT::v8i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 89|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_D_W),
                    MVT::v4i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_D_W),
                    MVT::v4i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 90|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_DU_WU),
                    MVT::v4i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_DU_WU),
                    MVT::v4i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 35|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_W),
                    MVT::v8i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_W),
                    MVT::v8i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 5|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_W),
                    MVT::v8i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_W),
                    MVT::v8i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 52|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
                    MVT::v8i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
                    MVT::v8i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 79|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
                    MVT::v8i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
                    MVT::v8i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 80|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
                    MVT::v8i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
                    MVT::v8i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 109|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
                    MVT::v8i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
                    MVT::v8i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 110|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
                    MVT::v8i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
                    MVT::v8i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 3|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
                    MVT::v8i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
                    MVT::v8i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 60|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
                    MVT::v8i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
                    MVT::v8i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 122|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
                    MVT::v8i32, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
                    MVT::v8i32, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 39|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_D),
                    MVT::v4i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_D),
                    MVT::v4i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 40|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_DU),
                    MVT::v4i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_DU),
                    MVT::v4i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 26|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_D),
                    MVT::v4i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_D),
                    MVT::v4i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 33|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_D),
                    MVT::v4i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_D),
                    MVT::v4i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 3|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_D),
                    MVT::v4i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_D),
                    MVT::v4i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 50|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
                    MVT::v4i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
                    MVT::v4i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 75|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
                    MVT::v4i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
                    MVT::v4i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 76|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
                    MVT::v4i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
                    MVT::v4i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 105|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
                    MVT::v4i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
                    MVT::v4i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 106|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
                    MVT::v4i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
                    MVT::v4i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 1|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
                    MVT::v4i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
                    MVT::v4i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 109|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
                    MVT::v4i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
                    MVT::v4i64, 2, 0, 2,
   0,
  36,
   OPC_CheckChild0Integer, 120|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
                    MVT::v4i64, 2, 0, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
                    MVT::v4i64, 2, 0, 2,
   0,
  39,
   OPC_CheckChild0Integer, 24|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_B_H),
                    MVT::v32i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_B_H),
                    MVT::v32i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 122|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_B_H),
                    MVT::v32i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_B_H),
                    MVT::v32i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 39|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_B_H),
                    MVT::v32i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_B_H),
                    MVT::v32i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 9|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_B_H),
                    MVT::v32i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_B_H),
                    MVT::v32i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 77|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_B_H),
                    MVT::v32i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_B_H),
                    MVT::v32i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 49|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_B_H),
                    MVT::v32i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_B_H),
                    MVT::v32i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 78|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_BU_H),
                    MVT::v32i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_BU_H),
                    MVT::v32i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 50|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_BU_H),
                    MVT::v32i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_BU_H),
                    MVT::v32i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 91|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_B_H),
                    MVT::v32i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_B_H),
                    MVT::v32i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 63|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_B_H),
                    MVT::v32i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_B_H),
                    MVT::v32i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 92|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_BU_H),
                    MVT::v32i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_BU_H),
                    MVT::v32i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 64|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_BU_H),
                    MVT::v32i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_BU_H),
                    MVT::v32i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 31|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_B),
                    MVT::v32i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_B),
                    MVT::v32i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 15|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
                    MVT::v32i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
                    MVT::v32i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 52|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                    MVT::v32i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                    MVT::v32i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 110|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    MVT::v32i8, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    MVT::v32i8, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 26|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_H_W),
                    MVT::v16i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_H_W),
                    MVT::v16i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 124|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_H_W),
                    MVT::v16i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_H_W),
                    MVT::v16i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 41|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_H_W),
                    MVT::v16i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_H_W),
                    MVT::v16i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 11|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_H_W),
                    MVT::v16i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_H_W),
                    MVT::v16i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 81|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_H_W),
                    MVT::v16i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_H_W),
                    MVT::v16i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 53|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_H_W),
                    MVT::v16i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_H_W),
                    MVT::v16i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 82|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_HU_W),
                    MVT::v16i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_HU_W),
                    MVT::v16i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 54|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_HU_W),
                    MVT::v16i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_HU_W),
                    MVT::v16i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 95|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_H_W),
                    MVT::v16i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_H_W),
                    MVT::v16i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 67|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_H_W),
                    MVT::v16i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_H_W),
                    MVT::v16i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 96|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_HU_W),
                    MVT::v16i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_HU_W),
                    MVT::v16i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 68|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_HU_W),
                    MVT::v16i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_HU_W),
                    MVT::v16i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 32|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_H),
                    MVT::v16i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_H),
                    MVT::v16i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 54|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                    MVT::v16i16, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                    MVT::v16i16, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 27|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_W_D),
                    MVT::v8i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_W_D),
                    MVT::v8i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 125|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_W_D),
                    MVT::v8i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_W_D),
                    MVT::v8i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 42|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_W_D),
                    MVT::v8i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_W_D),
                    MVT::v8i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 12|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_W_D),
                    MVT::v8i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_W_D),
                    MVT::v8i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 83|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_W_D),
                    MVT::v8i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_W_D),
                    MVT::v8i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 55|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_W_D),
                    MVT::v8i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_W_D),
                    MVT::v8i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 84|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_WU_D),
                    MVT::v8i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_WU_D),
                    MVT::v8i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 56|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_WU_D),
                    MVT::v8i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_WU_D),
                    MVT::v8i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 97|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_W_D),
                    MVT::v8i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_W_D),
                    MVT::v8i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 69|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_W_D),
                    MVT::v8i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_W_D),
                    MVT::v8i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 98|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_WU_D),
                    MVT::v8i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_WU_D),
                    MVT::v8i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 70|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_WU_D),
                    MVT::v8i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_WU_D),
                    MVT::v8i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 111|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_W),
                    MVT::v8i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_W),
                    MVT::v8i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 55|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                    MVT::v8i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                    MVT::v8i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 93|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
                    MVT::v8i32, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
                    MVT::v8i32, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 25|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_D_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_D_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 123|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_D_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_D_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 40|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_D_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_D_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 10|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_D_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_D_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 79|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_D_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_D_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 51|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_D_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_D_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 80|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_DU_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_DU_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 52|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_DU_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_DU_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 93|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_D_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_D_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 65|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_D_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_D_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 94|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_DU_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_DU_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 66|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_DU_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_DU_Q),
                    MVT::v4i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 58|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
                    MVT::v4i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
                    MVT::v4i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 53|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                    MVT::v4i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                    MVT::v4i64, 3, 0, 1, 3,
   0,
  39,
   OPC_CheckChild0Integer, 92|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
                    MVT::v4i64, 3, 0, 1, 3,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
                    MVT::v4i64, 3, 0, 1, 3,
   0,
  13,
   OPC_CheckChild0Integer, 111|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 112|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_BU),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 53|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 54|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_BU),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 30|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_H_B),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 31|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_HU_BU),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 38|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_H_B),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 39|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_HU_BU),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 48|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_B),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 60|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_B),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 78|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_H_B),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 86|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_H_B),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 49|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_BU),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 61|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_BU),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 79|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_H_BU),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 87|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_H_BU),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 50|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_BU_B),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 62|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_BU_B),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 72|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 73|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_BU),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 80|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 81|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_BU),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 24|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 25|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_BU),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 37|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 13|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 14|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_BU),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 28|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_B),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 40|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_B),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 29|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_BU),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 41|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_BU),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 30|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_BU_B),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 42|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_BU_B),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 15|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 71|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 57|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 103|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 110|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 80|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 127|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 19|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 20|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_BU),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 49|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 50|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_BU),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 58|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 62|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 71|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 75|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 48|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 44|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_B),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 115|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 116|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_HU),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 57|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 58|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_HU),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 34|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_W_H),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 35|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_WU_HU),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 42|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_W_H),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 43|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_WU_HU),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 54|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_H),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 66|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_H),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 82|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_W_H),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 90|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_W_H),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 55|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_HU),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 67|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_HU),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 83|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_W_HU),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 91|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_W_HU),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 56|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_HU_H),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 68|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_HU_H),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 76|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 77|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_HU),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 84|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 85|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_HU),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 28|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 29|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_HU),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 39|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 17|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 18|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_HU),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 34|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_H),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 46|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_H),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 35|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_HU),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 47|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_HU),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 36|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_HU_H),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 48|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_HU_H),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 17|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 105|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 112|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 82|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 103|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_B_H),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 73|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_B_H),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 118|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_B_H),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 88|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_B_H),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 25|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_B_H),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 125|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_B_H),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 26|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_BU_H),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 126|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_BU_H),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 39|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_B_H),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 11|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_B_H),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 40|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_BU_H),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 12|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_BU_H),
                   MVT::v16i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 1|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 23|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 24|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_HU),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 53|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 54|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_HU),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 60|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 64|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 73|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 77|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 50|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 46|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_H),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 117|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 118|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_WU),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 59|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 60|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_WU),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 28|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_D_W),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 29|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_DU_WU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 36|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_D_W),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 37|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_DU_WU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 45|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_W),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 57|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_W),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 76|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_D_W),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 84|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_D_W),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 46|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_WU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 58|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_WU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 77|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_D_WU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 85|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_D_WU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 47|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_WU_W),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 59|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_WU_W),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 78|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 79|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_WU),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 86|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 87|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_WU),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 30|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 31|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_WU),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 40|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 19|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 20|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_WU),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 25|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_W),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 37|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_W),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 26|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_WU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 38|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_WU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 27|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_WU_W),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 39|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_WU_W),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 18|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 106|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 113|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 83|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 104|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_H_W),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 74|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_H_W),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 119|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_H_W),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 89|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_H_W),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 27|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_H_W),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 127|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_H_W),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 28|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_HU_W),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 0|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_HU_W),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 41|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_H_W),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 13|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_H_W),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 42|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_HU_W),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 14|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_HU_W),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 2|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 25|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 26|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_WU),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 55|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 56|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_WU),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 61|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 65|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 74|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 78|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 51|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 47|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_W),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 35|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_Q),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 70|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_Q),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 113|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 114|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_DU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 55|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 56|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_DU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 32|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_Q_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 33|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_QU_DU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 40|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_Q_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 41|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_QU_DU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 51|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 63|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 80|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_Q_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 88|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_Q_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 52|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_DU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 64|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_DU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 81|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_Q_DU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 89|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_Q_DU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 53|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_DU_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 65|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_DU_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 74|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 75|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_DU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 82|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 83|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_DU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 26|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 27|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_DU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 38|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 15|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 16|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_DU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 31|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 43|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 32|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_DU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 44|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_DU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 33|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_DU_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 45|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_DU_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 16|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 104|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 111|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 81|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 105|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_W_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 75|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_W_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 120|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_W_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 90|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_W_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 29|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_W_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 1|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_W_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 30|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_WU_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 2|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_WU_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 43|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_W_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 15|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_W_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 44|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_WU_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 16|128,61,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_WU_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 0|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 21|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 22|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_DU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 51|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 52|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_DU),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 59|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 63|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 72|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 76|128,59,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 49|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 45|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_D),
                   MVT::v2i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 70|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_B),
                   MVT::v8i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 82|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_B),
                   MVT::v8i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 71|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_BU),
                   MVT::v8i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 83|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_BU),
                   MVT::v8i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 72|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_BU_B),
                   MVT::v8i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 84|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_BU_B),
                   MVT::v8i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 76|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_H),
                   MVT::v4i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 88|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_H),
                   MVT::v4i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 77|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_HU),
                   MVT::v4i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 89|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_HU),
                   MVT::v4i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 78|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_HU_H),
                   MVT::v4i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 90|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_HU_H),
                   MVT::v4i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 67|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_W),
                   MVT::v2i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 79|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_W),
                   MVT::v2i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 68|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_WU),
                   MVT::v2i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 80|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_WU),
                   MVT::v2i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 69|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_WU_W),
                   MVT::v2i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 81|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_WU_W),
                   MVT::v2i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 73|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_D),
                   MVT::v2i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 85|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_D),
                   MVT::v2i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 74|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_DU),
                   MVT::v2i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 86|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_DU),
                   MVT::v2i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 75|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_DU_D),
                   MVT::v2i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 87|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_DU_D),
                   MVT::v2i64, 3, 0, 1, 2,
  11,
   OPC_CheckChild0Integer, 6|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_H_B),
                   MVT::v8i16, 1, 0,
  11,
   OPC_CheckChild0Integer, 7|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_HU_BU),
                   MVT::v8i16, 1, 0,
  11,
   OPC_CheckChild0Integer, 4|128,59,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_B),
                   MVT::v16i8, 1, 0,
  11,
   OPC_CheckChild0Integer, 3|128,59,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKGEZ_B),
                   MVT::v16i8, 1, 0,
  11,
   OPC_CheckChild0Integer, 8|128,59,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKNZ_B),
                   MVT::v16i8, 1, 0,
  11,
   OPC_CheckChild0Integer, 116|128,56,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_B),
                   MVT::v16i8, 1, 0,
  11,
   OPC_CheckChild0Integer, 10|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_W_H),
                   MVT::v4i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 11|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_WU_HU),
                   MVT::v4i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 6|128,59,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_H),
                   MVT::v8i16, 1, 0,
  11,
   OPC_CheckChild0Integer, 118|128,56,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_H),
                   MVT::v8i16, 1, 0,
  11,
   OPC_CheckChild0Integer, 4|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_D_W),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 5|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_DU_WU),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 7|128,59,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_W),
                   MVT::v4i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 119|128,56,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_W),
                   MVT::v4i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 8|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_Q_D),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 9|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_QU_DU),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 5|128,59,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_D),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 12|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTL_Q_D),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 13|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTL_QU_DU),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 117|128,56,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_D),
                   MVT::v2i64, 1, 0,
  15,
   OPC_CheckChild0Integer, 119|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTP_B),
                   MVT::v16i8, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 104|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
                   MVT::v16i8, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 7|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_B),
                   MVT::v16i8, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 120|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTP_H),
                   MVT::v8i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 9|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_H),
                   MVT::v8i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 10|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_W),
                   MVT::v4i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 8|128,60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_D),
                   MVT::v2i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 66|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVT_H_S),
                   MVT::v8i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 23|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CAF_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 41|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 25|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 35|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 29|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 39|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 27|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 37|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 31|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 33|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 43|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 45|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SAF_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 63|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUN_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 47|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SEQ_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 57|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUEQ_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 51|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLT_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 61|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULT_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 49|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLE_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 59|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULE_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 53|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SNE_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 55|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SOR_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 65|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUNE_S),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 12|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_W_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 23|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 17|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_W_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 7|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_W_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 1|128,58,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_W_D),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 22|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CAF_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 40|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 24|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 34|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 28|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 38|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 26|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 36|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 30|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 32|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 42|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 44|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SAF_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 62|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUN_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 46|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SEQ_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 56|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUEQ_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 50|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLT_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 60|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULT_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 48|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLE_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 58|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULE_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 52|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SNE_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 54|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SOR_D),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 64|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUNE_D),
                   MVT::v2i64, 2, 0, 1,
  11,
   OPC_CheckChild0Integer, 21|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCLASS_S),
                   MVT::v4i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 13|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_W_S),
                   MVT::v4i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 24|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_S),
                   MVT::v4i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 18|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_W_S),
                   MVT::v4i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 8|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_W_S),
                   MVT::v4i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 2|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_W_S),
                   MVT::v4i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 25|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_WU_S),
                   MVT::v4i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 3|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_WU_S),
                   MVT::v4i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 15|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNEL_L_S),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 14|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNEH_L_S),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 27|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZL_L_S),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 26|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZH_L_S),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 20|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRPL_L_S),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 19|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRPH_L_S),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 10|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRML_L_S),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 9|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRMH_L_S),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 5|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTL_L_S),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 4|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTH_L_S),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 20|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCLASS_D),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 11|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_L_D),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 21|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_L_D),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 16|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_L_D),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 6|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_L_D),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 127|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_L_D),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 22|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_LU_D),
                   MVT::v2i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 0|128,58,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_LU_D),
                   MVT::v2i64, 1, 0,
  14,
   OPC_CheckChild0Integer, 31|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, LoongArch::sub_128,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 29|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 30|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_BU),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 99|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 100|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_BU),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 68|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_H_B),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 69|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_HU_BU),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 76|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_H_B),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 77|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_HU_BU),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 86|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_B),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 98|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_B),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 124|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_H_B),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 4|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_H_B),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 87|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_BU),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 99|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_BU),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 125|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_H_BU),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 5|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_H_BU),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 88|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_BU_B),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 100|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_BU_B),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 110|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 111|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_BU),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 118|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 119|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_BU),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 62|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 63|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_BU),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 75|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 51|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 52|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_BU),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 66|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_B),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 78|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_B),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 67|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_BU),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 79|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_BU),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 68|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_BU_B),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 80|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_BU_B),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 61|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 109|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 95|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 21|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 28|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 126|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 45|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 65|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 66|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_BU),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 95|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 96|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_BU),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 96|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 100|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 112|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 116|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 86|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 82|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_B),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 33|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 34|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_HU),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 103|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 104|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_HU),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 72|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_W_H),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 73|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_WU_HU),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 80|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_W_H),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 81|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_WU_HU),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 92|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_H),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 104|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_H),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 0|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_W_H),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 8|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_W_H),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 93|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_HU),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 105|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_HU),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 1|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_W_HU),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 9|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_W_HU),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 94|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_HU_H),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 106|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_HU_H),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 114|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 115|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_HU),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 122|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 123|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_HU),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 66|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 67|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_HU),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 77|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 55|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 56|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_HU),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 72|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_H),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 84|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_H),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 73|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_HU),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 85|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_HU),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 74|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_HU_H),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 86|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_HU_H),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 63|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 23|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 30|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 0|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 21|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_B_H),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 119|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_B_H),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 36|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_B_H),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 6|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_B_H),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 71|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_B_H),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 43|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_B_H),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 72|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_BU_H),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 44|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_BU_H),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 85|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_B_H),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 57|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_B_H),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 86|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_BU_H),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 58|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_BU_H),
                   MVT::v32i8, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 47|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 69|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 70|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_HU),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 99|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 100|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_HU),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 98|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 102|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 114|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 118|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 88|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 84|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_H),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 35|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 36|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_WU),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 105|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 106|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_WU),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 66|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_D_W),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 67|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_DU_WU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 74|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_D_W),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 75|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_DU_WU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 83|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_W),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 95|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_W),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 122|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_D_W),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 2|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_D_W),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 84|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_WU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 96|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_WU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 123|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_D_WU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 3|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_D_WU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 85|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_WU_W),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 97|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_WU_W),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 116|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 117|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_WU),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 124|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 125|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_WU),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 68|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 69|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_WU),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 78|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 57|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 58|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_WU),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 63|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_W),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 75|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_W),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 64|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_WU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 76|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_WU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 65|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_WU_W),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 77|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_WU_W),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 64|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 24|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 31|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 1|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 22|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_H_W),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 120|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_H_W),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 37|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_H_W),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 7|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_H_W),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 73|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_H_W),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 45|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_H_W),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 74|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_HU_W),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 46|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_HU_W),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 87|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_H_W),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 59|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_H_W),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 88|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_HU_W),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 60|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_HU_W),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 48|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 71|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 72|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_WU),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 101|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 102|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_WU),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 99|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 103|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 115|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 119|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 89|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 85|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 108|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERM_W),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 73|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_Q),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 116|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_Q),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 31|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 32|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_DU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 101|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 102|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_DU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 70|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_Q_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 71|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_QU_DU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 78|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_Q_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 79|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_QU_DU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 89|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 101|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 126|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_Q_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 6|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_Q_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 90|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_DU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 102|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_DU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 127|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_Q_DU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 7|128,56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_Q_DU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 91|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_DU_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 103|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_DU_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 112|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 113|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_DU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 120|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 121|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_DU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 64|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 65|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_DU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 76|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 53|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 54|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_DU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 69|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 81|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 70|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_DU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 82|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_DU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 71|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_DU_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 83|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_DU_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 62|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 22|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 29|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 127|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 23|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_W_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 121|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_W_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 38|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_W_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 8|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_W_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 75|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_W_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 47|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_W_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 76|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_WU_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 48|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_WU_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 89|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_W_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 61|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_W_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 90|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_WU_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 62|128,55,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_WU_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 46|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 67|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 68|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_DU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 97|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 98|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_DU),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 97|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 101|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 113|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 117|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 87|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 83|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_D),
                   MVT::v4i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 108|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_B),
                   MVT::v16i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 120|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_B),
                   MVT::v16i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 109|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_BU),
                   MVT::v16i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 121|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_BU),
                   MVT::v16i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 110|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_BU_B),
                   MVT::v16i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 122|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_BU_B),
                   MVT::v16i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 114|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_H),
                   MVT::v8i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 126|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_H),
                   MVT::v8i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 115|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_HU),
                   MVT::v8i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 127|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_HU),
                   MVT::v8i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 116|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_HU_H),
                   MVT::v8i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 0|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_HU_H),
                   MVT::v8i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 105|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_W),
                   MVT::v4i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 117|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_W),
                   MVT::v4i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 106|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_WU),
                   MVT::v4i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 118|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_WU),
                   MVT::v4i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 107|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_WU_W),
                   MVT::v4i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 119|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_WU_W),
                   MVT::v4i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 111|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_D),
                   MVT::v4i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 123|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_D),
                   MVT::v4i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 112|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_DU),
                   MVT::v4i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 124|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_DU),
                   MVT::v4i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 113|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_DU_D),
                   MVT::v4i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 125|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_DU_D),
                   MVT::v4i64, 3, 0, 1, 2,
  11,
   OPC_CheckChild0Integer, 44|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_H_B),
                   MVT::v16i16, 1, 0,
  11,
   OPC_CheckChild0Integer, 45|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_HU_BU),
                   MVT::v16i16, 1, 0,
  11,
   OPC_CheckChild0Integer, 42|128,53,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_B),
                   MVT::v32i8, 1, 0,
  11,
   OPC_CheckChild0Integer, 41|128,53,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKGEZ_B),
                   MVT::v32i8, 1, 0,
  11,
   OPC_CheckChild0Integer, 46|128,53,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKNZ_B),
                   MVT::v32i8, 1, 0,
  11,
   OPC_CheckChild0Integer, 26|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_B),
                   MVT::v32i8, 1, 0,
  11,
   OPC_CheckChild0Integer, 46|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_H_B),
                   MVT::v16i16, 1, 0,
  11,
   OPC_CheckChild0Integer, 47|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_HU_BU),
                   MVT::v16i16, 1, 0,
  11,
   OPC_CheckChild0Integer, 48|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_B),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 50|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_BU),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 40|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_B),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 43|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_BU),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 16|128,54,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_B),
                   MVT::v32i8, 1, 0,
  11,
   OPC_CheckChild0Integer, 19|128,54,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
                   MVT::v32i8, 1, 0,
  11,
   OPC_CheckChild0Integer, 48|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_W_H),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 49|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_WU_HU),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 44|128,53,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_H),
                   MVT::v16i16, 1, 0,
  11,
   OPC_CheckChild0Integer, 28|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_H),
                   MVT::v16i16, 1, 0,
  11,
   OPC_CheckChild0Integer, 49|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_H),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 51|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_HU),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 41|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_H),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 44|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_HU),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 18|128,54,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_H),
                   MVT::v16i16, 1, 0,
  11,
   OPC_CheckChild0Integer, 42|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_D_W),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 43|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_DU_WU),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 45|128,53,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_W),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 29|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_W),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 42|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 45|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 20|128,54,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 46|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_Q_D),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 47|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_QU_DU),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 43|128,53,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_D),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 50|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTL_Q_D),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 51|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTL_QU_DU),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 27|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_D),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 17|128,54,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
                   MVT::v4i64, 1, 0,
  15,
   OPC_CheckChild0Integer, 29|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTP_B),
                   MVT::v32i8, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 14|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
                   MVT::v32i8, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 53|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_B),
                   MVT::v32i8, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 30|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTP_H),
                   MVT::v16i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 55|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_H),
                   MVT::v16i16, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 56|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_W),
                   MVT::v8i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 54|128,54,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_D),
                   MVT::v4i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 104|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVT_H_S),
                   MVT::v16i16, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 61|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CAF_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 79|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 63|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 73|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 67|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 77|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 65|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 75|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 69|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 71|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 81|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 83|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SAF_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 101|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUN_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 85|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SEQ_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 95|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUEQ_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 89|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLT_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 99|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULT_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 87|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLE_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 97|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULE_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 91|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SNE_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 93|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SOR_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 103|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUNE_S),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 50|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_W_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 61|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 55|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_W_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 45|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_W_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 39|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_W_D),
                   MVT::v8i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 60|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CAF_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 78|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 62|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 72|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 66|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 76|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 64|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 74|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 68|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 70|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 80|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 82|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SAF_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 100|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUN_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 84|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SEQ_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 94|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUEQ_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 88|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLT_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 98|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULT_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 86|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLE_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 96|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULE_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 90|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SNE_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 92|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SOR_D),
                   MVT::v4i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 102|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUNE_D),
                   MVT::v4i64, 2, 0, 1,
  11,
   OPC_CheckChild0Integer, 59|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCLASS_S),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 51|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_W_S),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 62|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 56|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_W_S),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 46|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_W_S),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 40|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_W_S),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 63|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_WU_S),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 41|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_WU_S),
                   MVT::v8i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 53|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNEL_L_S),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 52|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNEH_L_S),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 65|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZL_L_S),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 64|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZH_L_S),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 58|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRPL_L_S),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 57|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRPH_L_S),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 48|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRML_L_S),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 47|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRMH_L_S),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 43|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTL_L_S),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 42|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTH_L_S),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 58|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCLASS_D),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 49|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_L_D),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 59|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 54|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_L_D),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 44|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_L_D),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 37|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_L_D),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 60|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
                   MVT::v4i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 38|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_LU_D),
                   MVT::v4i64, 1, 0,
  20,
   OPC_CheckChild0Integer, 22|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i64, 0,
   OPC_EmitIntegerI32, LoongArch::sub_128,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v4i64, 3, 1, 0, 2,
  58,
   OPC_CheckChild0Integer, 28|128,50,
   OPC_RecordChild1,
   OPC_Scope, 25,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    MVT::v32i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i64, 2, 3, 4,
   25,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    MVT::v32i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i64, 2, 3, 4,
   0,
  61,
   OPC_CheckChild0Integer, 37|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 26,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v32i8, 3, 2, 1, 3,
    OPC_EmitIntegerI64, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    MVT::v4i64, 3, 0, 4, 5,
   26,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v32i8, 3, 2, 1, 3,
    OPC_EmitIntegerI32, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    MVT::v4i64, 3, 0, 4, 5,
   0,
  61,
   OPC_CheckChild0Integer, 34|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 26,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v32i8, 3, 2, 1, 3,
    OPC_EmitIntegerI64, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    MVT::v4i64, 3, 0, 4, 5,
   26,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v32i8, 3, 2, 1, 3,
    OPC_EmitIntegerI32, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    MVT::v4i64, 3, 0, 4, 5,
   0,
  38,
   OPC_CheckChild0Integer, 123|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
                    8|128,1, 2, 0, 2,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
                    8|128,1, 2, 0, 2,
   0,
  38,
   OPC_CheckChild0Integer, 121|128,53,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
                    24|128,1, 2, 0, 2,
   12,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 7, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
                    24|128,1, 2, 0, 2,
   0,
  14,
   OPC_CheckChild0Integer, 76|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_L),
                   4|128,1, 2, 0, 1,
  12,
   OPC_CheckChild0Integer, 71|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTL_S_H),
                   4|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 69|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTH_S_H),
                   4|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 77|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_W),
                   4|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 78|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_WU),
                   4|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 80|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINTL_D_W),
                   22|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 79|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINTH_D_W),
                   22|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 74|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_L),
                   22|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 75|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_LU),
                   22|128,1, 1, 0,
  16,
   OPC_CheckChild0Integer, 94|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_S),
                   4|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 98|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
                   4|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 100|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
                   4|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 93|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_D),
                   22|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 97|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
                   22|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 99|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
                   22|128,1, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 86|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_S),
                   4|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 90|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_S),
                   4|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 88|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAXA_S),
                   4|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 92|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMINA_S),
                   4|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 85|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_D),
                   22|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 89|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_D),
                   22|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 87|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAXA_D),
                   22|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 91|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMINA_D),
                   22|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 67|128,57,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVT_S_D),
                   4|128,1, 2, 0, 1,
  12,
   OPC_CheckChild0Integer, 82|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFLOGB_S),
                   4|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 124|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_S),
                   4|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 102|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
                   4|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 116|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
                   4|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 106|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINT_S),
                   4|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 70|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTL_D_S),
                   22|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 68|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTH_D_S),
                   22|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 110|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_S),
                   4|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 114|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_S),
                   4|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 112|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_S),
                   4|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 108|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_S),
                   4|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 81|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFLOGB_D),
                   22|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 123|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_D),
                   22|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 101|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
                   22|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 115|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
                   22|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 105|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINT_D),
                   22|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 109|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_D),
                   22|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 113|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_D),
                   22|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 111|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_D),
                   22|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 107|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_D),
                   22|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 104|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIPE_S),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 118|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRTE_S),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 103|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIPE_D),
                   22|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 117|128,57,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRTE_D),
                   22|128,1, 1, 0,
  15,
   OPC_CheckChild0Integer, 33|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, LoongArch::sub_128,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   4|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 32|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, LoongArch::sub_128,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   22|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 114|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_L),
                   8|128,1, 2, 0, 1,
  12,
   OPC_CheckChild0Integer, 109|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTL_S_H),
                   8|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 107|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTH_S_H),
                   8|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 115|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_W),
                   8|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 116|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_WU),
                   8|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 118|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINTL_D_W),
                   24|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 117|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINTH_D_W),
                   24|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 112|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
                   24|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 113|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
                   24|128,1, 1, 0,
  16,
   OPC_CheckChild0Integer, 4|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_S),
                   8|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 8|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
                   8|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 10|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
                   8|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 3|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_D),
                   24|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 7|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
                   24|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 9|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
                   24|128,1, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 124|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_S),
                   8|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 0|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_S),
                   8|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 126|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAXA_S),
                   8|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 2|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMINA_S),
                   8|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 123|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_D),
                   24|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 127|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_D),
                   24|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 125|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAXA_D),
                   24|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 1|128,52,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMINA_D),
                   24|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 105|128,51,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
                   8|128,1, 2, 0, 1,
  12,
   OPC_CheckChild0Integer, 120|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFLOGB_S),
                   8|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 34|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_S),
                   8|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 12|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
                   8|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 26|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
                   8|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 16|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINT_S),
                   8|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 108|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTL_D_S),
                   24|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 106|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTH_D_S),
                   24|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 20|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_S),
                   8|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 24|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_S),
                   8|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 22|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_S),
                   8|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 18|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_S),
                   8|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 119|128,51,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFLOGB_D),
                   24|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 33|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_D),
                   24|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 11|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
                   24|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 25|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
                   24|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 15|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINT_D),
                   24|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 19|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_D),
                   24|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 23|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_D),
                   24|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 21|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_D),
                   24|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 17|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_D),
                   24|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 14|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIPE_S),
                   8|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 28|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRTE_S),
                   8|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 13|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIPE_D),
                   24|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 27|128,52,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRTE_D),
                   24|128,1, 1, 0,
  22,
   OPC_CheckChild0Integer, 24|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   8|128,1, 0,
   OPC_EmitIntegerI32, LoongArch::sub_128,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   8|128,1, 3, 1, 0, 2,
  22,
   OPC_CheckChild0Integer, 23|128,50,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   24|128,1, 0,
   OPC_EmitIntegerI32, LoongArch::sub_128,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   24|128,1, 3, 1, 0, 2,
  60,
   OPC_CheckChild0Integer, 30|128,50,
   OPC_RecordChild1,
   OPC_Scope, 26,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    MVT::v32i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    4|128,1, 2, 3, 4,
   26,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    MVT::v32i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    4|128,1, 2, 3, 4,
   0,
  60,
   OPC_CheckChild0Integer, 29|128,50,
   OPC_RecordChild1,
   OPC_Scope, 26,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    MVT::v32i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    22|128,1, 2, 3, 4,
   26,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    MVT::v32i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    22|128,1, 2, 3, 4,
   0,
  63,
   OPC_CheckChild0Integer, 39|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v32i8, 3, 2, 1, 3,
    OPC_EmitIntegerI64, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    8|128,1, 3, 0, 4, 5,
   27,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v32i8, 3, 2, 1, 3,
    OPC_EmitIntegerI32, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    8|128,1, 3, 0, 4, 5,
   0,
  63,
   OPC_CheckChild0Integer, 38|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v32i8, 3, 2, 1, 3,
    OPC_EmitIntegerI64, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    24|128,1, 3, 0, 4, 5,
   27,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v32i8, 3, 2, 1, 3,
    OPC_EmitIntegerI32, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    24|128,1, 3, 0, 4, 5,
   0,
  63,
   OPC_CheckChild0Integer, 36|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v32i8, 3, 2, 1, 3,
    OPC_EmitIntegerI64, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    8|128,1, 3, 0, 4, 5,
   27,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v32i8, 3, 2, 1, 3,
    OPC_EmitIntegerI32, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    8|128,1, 3, 0, 4, 5,
   0,
  63,
   OPC_CheckChild0Integer, 35|128,50,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v32i8, 3, 2, 1, 3,
    OPC_EmitIntegerI64, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    24|128,1, 3, 0, 4, 5,
   27,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v32i8, 3, 2, 1, 3,
    OPC_EmitIntegerI32, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    24|128,1, 3, 0, 4, 5,
   0,
  0,
 73, TARGET_VAL(ISD::BRIND),
  OPC_RecordNode,
  OPC_Scope, 40,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 67,
   OPC_MoveParent,
   OPC_SwitchType , 10, MVT::i64,
    OPC_MoveParent,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
                    2, 1, 3,
   11, MVT::i32,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
                    2, 1, 3,
   0,
  28,
   OPC_RecordChild1,
   OPC_Scope, 11,
    OPC_CheckChild1TypeI64,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
                    2, 1, 2,
   12,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
                    2, 1, 2,
   0,
  0,
 66, TARGET_VAL(LoongArchISD::MOVFR2GR_S_LA64),
  OPC_Scope, 53,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 22,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_W),
                    MVT::i64, 2, 0, 2,
   22,
    OPC_CheckChild0Type, 8|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 19,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
                    MVT::i64, 2, 0, 2,
   0,
  9,
   OPC_RecordChild0,
   OPC_CheckPatternPredicate, 30,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
                   MVT::i64, 1, 0,
  0,
 11|128,1, TARGET_VAL(ISD::BITCAST),
  OPC_Scope, 59,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 25,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 33,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_D),
                    MVT::i64, 2, 0, 2,
   25,
    OPC_CheckChild0Type, 24|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_D),
                    MVT::i64, 2, 0, 2,
   0,
  76,
   OPC_RecordChild0,
   OPC_Scope, 11,
    OPC_CheckChild0Type, MVT::f32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
                    MVT::i32, 1, 0,
   24,
    OPC_CheckChild0Type, MVT::f64,
    OPC_SwitchType , 8, MVT::i64,
     OPC_CheckPatternPredicate, 23,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_D),
                     MVT::i64, 1, 0,
    8, MVT::i32,
     OPC_CheckPatternPredicate, 28,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_D),
                     MVT::i32, 1, 0,
    0,
   23,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 8, MVT::f32,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
                     MVT::f32, 1, 0,
    8, MVT::f64,
     OPC_CheckPatternPredicate, 28,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
                     MVT::f64, 1, 0,
    0,
   11,
    OPC_CheckChild0TypeI64,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
                    MVT::f64, 1, 0,
   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(LoongArch::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(LoongArch::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                  2, 1, 2,
 43|128,28, TARGET_VAL(ISD::SETCC),
  OPC_RecordChild0,
  OPC_Scope, 104|128,2,
   OPC_CheckChild0TypeI64,
   OPC_Scope, 31,
    OPC_CheckChild1Integer, 0,
    OPC_CheckTypeI64,
    OPC_Scope, 12,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_CheckPatternPredicate7,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
                     MVT::i64, 2, 0, 1,
    12,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_CheckPatternPredicate7,
     OPC_EmitRegisterI64, LoongArch::R0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                     MVT::i64, 2, 1, 0,
    0,
   67|128,2,
    OPC_RecordChild1,
    OPC_Scope, 16|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 30,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_Scope, 11,
       OPC_CheckChild2CondCode, ISD::SETLT,
       OPC_CheckPatternPredicate7,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTI),
                       MVT::i64, 2, 0, 2,
      11,
       OPC_CheckChild2CondCode, ISD::SETULT,
       OPC_CheckPatternPredicate7,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
                       MVT::i64, 2, 0, 2,
      0,
     106,
      OPC_CheckPredicate, 60,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_Scope, 49,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_Scope, 22,
        OPC_CheckPatternPredicate, 15,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 10, 2,
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
                        MVT::i64, 2, 0, 3,
        OPC_EmitIntegerI64, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
                        MVT::i64, 2, 4, 5,
       21,
        OPC_CheckPatternPredicate6,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 10, 2,
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
                        MVT::i64, 2, 0, 3,
        OPC_EmitIntegerI64, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
                        MVT::i64, 2, 4, 5,
       0,
      49,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 22,
        OPC_CheckPatternPredicate, 15,
        OPC_EmitRegisterI64, LoongArch::R0,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 10, 3,
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
                        MVT::i64, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                        MVT::i64, 2, 2, 5,
       21,
        OPC_CheckPatternPredicate6,
        OPC_EmitRegisterI64, LoongArch::R0,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 10, 3,
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
                        MVT::i64, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                        MVT::i64, 2, 2, 5,
       0,
      0,
     0,
    11,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLT),
                     MVT::i64, 2, 0, 1,
    11,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                     MVT::i64, 2, 0, 1,
    11,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                     MVT::i64, 2, 1, 0,
    11,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLT),
                     MVT::i64, 2, 1, 0,
    20,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate7,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XOR),
                     MVT::i64, 2, 0, 1,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
                     MVT::i64, 2, 2, 3,
    20,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate7,
     OPC_EmitRegisterI64, LoongArch::R0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XOR),
                     MVT::i64, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                     MVT::i64, 2, 2, 3,
    20,
     OPC_CheckChild2CondCode, ISD::SETUGE,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate7,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SLTU),
                     MVT::i64, 2, 0, 1,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
                     MVT::i64, 2, 2, 3,
    20,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate7,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SLTU),
                     MVT::i64, 2, 1, 0,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
                     MVT::i64, 2, 2, 3,
    20,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate7,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SLT),
                     MVT::i64, 2, 0, 1,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
                     MVT::i64, 2, 2, 3,
    20,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate7,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SLT),
                     MVT::i64, 2, 1, 0,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
                     MVT::i64, 2, 2, 3,
    0,
   0,
  120|128,2,
   OPC_CheckChild0TypeI32,
   OPC_Scope, 33,
    OPC_CheckChild1Integer, 0,
    OPC_CheckTypeI32,
    OPC_Scope, 13,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
                     MVT::i32, 2, 0, 1,
    13,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitRegisterI32, LoongArch::R0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                     MVT::i32, 2, 1, 0,
    0,
   81|128,2,
    OPC_RecordChild1,
    OPC_Scope, 20|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 32,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 12,
       OPC_CheckChild2CondCode, ISD::SETLT,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTI),
                       MVT::i32, 2, 0, 2,
      12,
       OPC_CheckChild2CondCode, ISD::SETULT,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
                       MVT::i32, 2, 0, 2,
      0,
     108,
      OPC_CheckPredicate, 60,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 50,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_Scope, 22,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 10, 2,
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
                        MVT::i32, 2, 0, 3,
        OPC_EmitIntegerI32, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
                        MVT::i32, 2, 4, 5,
       22,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 10, 2,
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
                        MVT::i32, 2, 0, 3,
        OPC_EmitIntegerI32, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
                        MVT::i32, 2, 4, 5,
       0,
      50,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 22,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitRegisterI32, LoongArch::R0,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 10, 3,
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
                        MVT::i32, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                        MVT::i32, 2, 2, 5,
       22,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitRegisterI32, LoongArch::R0,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 10, 3,
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
                        MVT::i32, 2, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                        MVT::i32, 2, 2, 5,
       0,
      0,
     0,
    12,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLT),
                     MVT::i32, 2, 0, 1,
    12,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                     MVT::i32, 2, 0, 1,
    12,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                     MVT::i32, 2, 1, 0,
    12,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLT),
                     MVT::i32, 2, 1, 0,
    21,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XOR),
                     MVT::i32, 2, 0, 1,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
                     MVT::i32, 2, 2, 3,
    21,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitRegisterI32, LoongArch::R0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XOR),
                     MVT::i32, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                     MVT::i32, 2, 2, 3,
    21,
     OPC_CheckChild2CondCode, ISD::SETUGE,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SLTU),
                     MVT::i32, 2, 0, 1,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
                     MVT::i32, 2, 2, 3,
    21,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SLTU),
                     MVT::i32, 2, 1, 0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
                     MVT::i32, 2, 2, 3,
    21,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SLT),
                     MVT::i32, 2, 0, 1,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
                     MVT::i32, 2, 2, 3,
    21,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SLT),
                     MVT::i32, 2, 1, 0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
                     MVT::i32, 2, 2, 3,
    0,
   0,
  100|128,2,
   OPC_CheckChild0Type, MVT::f32,
   OPC_RecordChild1,
   OPC_Scope, 26,
    OPC_CheckChild2CondCode, ISD::SETOEQ,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETOLT,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETOLE,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETONE,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETO,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_COR_S),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_COR_S),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETUEQ,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETUNE,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETUO,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                     MVT::i32, 2, 0, 1,
    0,
   0,
  100|128,2,
   OPC_CheckChild0Type, MVT::f64,
   OPC_RecordChild1,
   OPC_Scope, 26,
    OPC_CheckChild2CondCode, ISD::SETOEQ,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETOLT,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETOLE,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETONE,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETO,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_COR_D),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_COR_D),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETUEQ,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETUNE,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETUO,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
                     MVT::i32, 2, 0, 1,
    0,
   26,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_SwitchType , 9, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                     MVT::i64, 2, 0, 1,
    9, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                     MVT::i32, 2, 0, 1,
    0,
   0,
  59|128,1,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v16i8,
   OPC_Scope, 35,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
                     MVT::v16i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
                     MVT::v16i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
                     MVT::v16i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
                     MVT::v16i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_BU),
                     MVT::v16i8, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
                     MVT::v16i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_BU),
                     MVT::v16i8, 2, 0, 1,
    0,
   0,
  59|128,1,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v8i16,
   OPC_Scope, 35,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
                     MVT::v8i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
                     MVT::v8i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_H),
                     MVT::v8i16, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
                     MVT::v8i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
                     MVT::v8i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_H),
                     MVT::v8i16, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
                     MVT::v8i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
                     MVT::v8i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_H),
                     MVT::v8i16, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
                     MVT::v8i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
                     MVT::v8i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_HU),
                     MVT::v8i16, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
                     MVT::v8i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
                     MVT::v8i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_HU),
                     MVT::v8i16, 2, 0, 1,
    0,
   0,
  59|128,1,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_Scope, 35,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
                     MVT::v4i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_W),
                     MVT::v4i32, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
                     MVT::v4i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_W),
                     MVT::v4i32, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
                     MVT::v4i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_W),
                     MVT::v4i32, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
                     MVT::v4i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_WU),
                     MVT::v4i32, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
                     MVT::v4i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_WU),
                     MVT::v4i32, 2, 0, 1,
    0,
   0,
  59|128,1,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v2i64,
   OPC_Scope, 35,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
                     MVT::v2i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
                     MVT::v2i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_D),
                     MVT::v2i64, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
                     MVT::v2i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
                     MVT::v2i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_D),
                     MVT::v2i64, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
                     MVT::v2i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
                     MVT::v2i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_D),
                     MVT::v2i64, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
                     MVT::v2i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
                     MVT::v2i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_DU),
                     MVT::v2i64, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
                     MVT::v2i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
                     MVT::v2i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_DU),
                     MVT::v2i64, 2, 0, 1,
    0,
   0,
  59|128,1,
   OPC_CheckChild0Type, MVT::v32i8,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v32i8,
   OPC_Scope, 35,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
                     MVT::v32i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_B),
                     MVT::v32i8, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
                     MVT::v32i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_B),
                     MVT::v32i8, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
                     MVT::v32i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_B),
                     MVT::v32i8, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
                     MVT::v32i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_BU),
                     MVT::v32i8, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
                     MVT::v32i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_BU),
                     MVT::v32i8, 2, 0, 1,
    0,
   0,
  59|128,1,
   OPC_CheckChild0Type, MVT::v16i16,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v16i16,
   OPC_Scope, 35,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
                     MVT::v16i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
                     MVT::v16i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_H),
                     MVT::v16i16, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
                     MVT::v16i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
                     MVT::v16i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_H),
                     MVT::v16i16, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
                     MVT::v16i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
                     MVT::v16i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_H),
                     MVT::v16i16, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
                     MVT::v16i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
                     MVT::v16i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_HU),
                     MVT::v16i16, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
                     MVT::v16i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
                     MVT::v16i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_HU),
                     MVT::v16i16, 2, 0, 1,
    0,
   0,
  59|128,1,
   OPC_CheckChild0Type, MVT::v8i32,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v8i32,
   OPC_Scope, 35,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
                     MVT::v8i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
                     MVT::v8i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_W),
                     MVT::v8i32, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
                     MVT::v8i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
                     MVT::v8i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_W),
                     MVT::v8i32, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
                     MVT::v8i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
                     MVT::v8i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_W),
                     MVT::v8i32, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
                     MVT::v8i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
                     MVT::v8i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_WU),
                     MVT::v8i32, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
                     MVT::v8i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
                     MVT::v8i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_WU),
                     MVT::v8i32, 2, 0, 1,
    0,
   0,
  59|128,1,
   OPC_CheckChild0Type, MVT::v4i64,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i64,
   OPC_Scope, 35,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
                     MVT::v4i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
                     MVT::v4i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
                     MVT::v4i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
                     MVT::v4i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
                     MVT::v4i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
                     MVT::v4i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
                     MVT::v4i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
                     MVT::v4i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_DU),
                     MVT::v4i64, 2, 0, 1,
    0,
   35,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
                     MVT::v4i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
                     MVT::v4i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_DU),
                     MVT::v4i64, 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::SETEQ,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETOEQ,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUEQ,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_S),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETOLE,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_S),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETOLT,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_S),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETONE,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUNE,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_S),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETO,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_S),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUO,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_S),
                    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::SETEQ,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETOEQ,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUEQ,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETOLE,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETOLT,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETONE,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUNE,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETO,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_D),
                    MVT::v2i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUO,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  34|128,1,
   OPC_CheckChild0Type, 8|128,1,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v8i32,
   OPC_Scope, 10,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
                    MVT::v8i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETOEQ,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
                    MVT::v8i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUEQ,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_S),
                    MVT::v8i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
                    MVT::v8i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETOLE,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
                    MVT::v8i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_S),
                    MVT::v8i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
                    MVT::v8i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETOLT,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
                    MVT::v8i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_S),
                    MVT::v8i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
                    MVT::v8i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETONE,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
                    MVT::v8i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUNE,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_S),
                    MVT::v8i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETO,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_S),
                    MVT::v8i32, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUO,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_S),
                    MVT::v8i32, 2, 0, 1,
   0,
  34|128,1,
   OPC_CheckChild0Type, 24|128,1,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i64,
   OPC_Scope, 10,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
                    MVT::v4i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETOEQ,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
                    MVT::v4i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUEQ,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_D),
                    MVT::v4i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
                    MVT::v4i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETOLE,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
                    MVT::v4i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_D),
                    MVT::v4i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
                    MVT::v4i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETOLT,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
                    MVT::v4i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_D),
                    MVT::v4i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
                    MVT::v4i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETONE,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
                    MVT::v4i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUNE,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_D),
                    MVT::v4i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETO,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_D),
                    MVT::v4i64, 2, 0, 1,
   10,
    OPC_CheckChild2CondCode, ISD::SETUO,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_D),
                    MVT::v4i64, 2, 0, 1,
   0,
  0,
 115|128,9, TARGET_VAL(ISD::SELECT),
  OPC_Scope, 117,
   OPC_RecordChild0,
   OPC_SwitchType , 55, MVT::i64,
    OPC_CheckChild0TypeI64,
    OPC_Scope, 12,
     OPC_RecordChild1,
     OPC_CheckChild2Integer, 0,
     OPC_CheckPatternPredicate, 26,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MASKEQZ),
                     MVT::i64, 2, 1, 0,
    12,
     OPC_CheckChild1Integer, 0,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate, 26,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MASKNEZ),
                     MVT::i64, 2, 1, 0,
    25,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MASKEQZ),
                     MVT::i64, 2, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MASKNEZ),
                     MVT::i64, 2, 2, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::OR),
                     MVT::i64, 2, 3, 4,
    0,
   55, MVT::i32,
    OPC_CheckChild0TypeI32,
    OPC_Scope, 12,
     OPC_RecordChild1,
     OPC_CheckChild2Integer, 0,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MASKEQZ),
                     MVT::i32, 2, 1, 0,
    12,
     OPC_CheckChild1Integer, 0,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MASKNEZ),
                     MVT::i32, 2, 1, 0,
    25,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MASKEQZ),
                     MVT::i32, 2, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MASKNEZ),
                     MVT::i32, 2, 2, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::OR),
                     MVT::i32, 2, 3, 4,
    0,
   0,
  57|128,8,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
   OPC_RecordChild0,
   OPC_Scope, 23|128,4,
    OPC_CheckChild0Type, MVT::f32,
    OPC_RecordChild1,
    OPC_Scope, 52,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETOLT,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETOLE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETONE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETO,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETUNE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETUO,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                      MVT::f32, 3, 3, 2, 4,
     0,
    0,
   23|128,4,
    OPC_CheckChild0Type, MVT::f64,
    OPC_RecordChild1,
    OPC_Scope, 52,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETOLT,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETOLE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETONE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETO,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETUNE,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     0,
    52,
     OPC_CheckChild2CondCode, ISD::SETUO,
     OPC_SwitchType , 22, MVT::i64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     22, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                      MVT::f64, 3, 3, 2, 4,
     0,
    0,
   0,
  63,
   OPC_RecordChild0,
   OPC_Scope, 29,
    OPC_CheckChild0TypeI64,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 10, MVT::f32,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                     MVT::f32, 3, 2, 1, 0,
    10, MVT::f64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                     MVT::f64, 3, 2, 1, 0,
    0,
   29,
    OPC_CheckChild0TypeI32,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 10, MVT::f32,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
                     MVT::f32, 3, 2, 1, 0,
    10, MVT::f64,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
                     MVT::f64, 3, 2, 1, 0,
    0,
   0,
  0,
 46|128,4, TARGET_VAL(LoongArchISD::BR_CC),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 13|128,2,
   OPC_CheckChild1TypeI64,
   OPC_Scope, 23|128,1,
    OPC_CheckChild2Integer, 0,
    OPC_MoveChild3,
    OPC_Scope, 32,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 26,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQZ),
                      2, 1, 2,
     11,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitRegisterI64, LoongArch::R0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQ),
                      3, 1, 3, 2,
     0,
    32,
     OPC_CheckCondCode, ISD::SETNE,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 26,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
                      2, 1, 2,
     11,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitRegisterI64, LoongArch::R0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNE),
                      3, 1, 3, 2,
     0,
    19,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI64, LoongArch::R0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
                     3, 1, 3, 2,
    19,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI64, LoongArch::R0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
                     3, 1, 3, 2,
    19,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI64, LoongArch::R0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
                     3, 1, 3, 2,
    19,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI64, LoongArch::R0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
                     3, 1, 3, 2,
    0,
   112,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_Scope, 17,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQ),
                     3, 1, 2, 3,
    17,
     OPC_CheckCondCode, ISD::SETNE,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNE),
                     3, 1, 2, 3,
    17,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
                     3, 1, 2, 3,
    17,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
                     3, 1, 2, 3,
    17,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
                     3, 1, 2, 3,
    17,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
                     3, 1, 2, 3,
    0,
   0,
  25|128,2,
   OPC_CheckChild1TypeI32,
   OPC_Scope, 29|128,1,
    OPC_CheckChild2Integer, 0,
    OPC_MoveChild3,
    OPC_Scope, 33,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQZ),
                      2, 1, 2,
     12,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitRegisterI32, LoongArch::R0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQ),
                      3, 1, 3, 2,
     0,
    33,
     OPC_CheckCondCode, ISD::SETNE,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
                      2, 1, 2,
     12,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitRegisterI32, LoongArch::R0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNE),
                      3, 1, 3, 2,
     0,
    20,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, LoongArch::R0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
                     3, 1, 3, 2,
    20,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, LoongArch::R0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
                     3, 1, 3, 2,
    20,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, LoongArch::R0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
                     3, 1, 3, 2,
    20,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, LoongArch::R0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
                     3, 1, 3, 2,
    0,
   118,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_Scope, 18,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQ),
                     3, 1, 2, 3,
    18,
     OPC_CheckCondCode, ISD::SETNE,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNE),
                     3, 1, 2, 3,
    18,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
                     3, 1, 2, 3,
    18,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
                     3, 1, 2, 3,
    18,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
                     3, 1, 2, 3,
    18,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveSibling4,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
                     3, 1, 2, 3,
    0,
   0,
  0,
 53|128,19, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
  OPC_RecordChild0,
  OPC_Scope, 74|128,8,
   OPC_CheckChild0Type, MVT::v32i8,
   OPC_Scope, 64,
    OPC_CheckChild1Integer, 16,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 17,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 18,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 19,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 20,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 21,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 22,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 6,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 6,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 23,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 7,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 24,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 25,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 26,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 27,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 28,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 29,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 30,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 31,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 4, 5,
    0,
   53,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 27,
    OPC_SwitchType , 20, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 0, 2,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 3, 4,
    20, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 0, 2,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 3, 4,
    0,
   0,
  66|128,4,
   OPC_CheckChild0Type, MVT::v16i16,
   OPC_Scope, 64,
    OPC_CheckChild1Integer, 8,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 9,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 10,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 11,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 12,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 13,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 14,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 6,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 6,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i32, 2, 4, 5,
    0,
   64,
    OPC_CheckChild1Integer, 15,
    OPC_SwitchType , 28, MVT::i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i64, 2, 4, 5,
    28, MVT::i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 2, 3,
     OPC_EmitIntegerI32, 7,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i32, 2, 4, 5,
    0,
   53,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 19,
    OPC_SwitchType , 20, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 0, 2,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i64, 2, 3, 4,
    20, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 0, 2,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i32, 2, 3, 4,
    0,
   0,
  116,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_Scope, 34,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 27,
    OPC_SwitchType , 11, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i64, 2, 0, 2,
    11, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                     MVT::i32, 2, 0, 2,
    0,
   37,
    OPC_CheckChild1TypeI64,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_B),
                    MVT::v16i8, 2, 0, 1,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 2, 3,
    OPC_EmitIntegerI32, LoongArch::GPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i64, 2, 4, 5,
    OPC_EmitIntegerI64, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
                    MVT::i64, 2, 6, 7,
   37,
    OPC_CheckChild1TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_B),
                    MVT::v16i8, 2, 0, 1,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 2, 3,
    OPC_EmitIntegerI32, LoongArch::GPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
    OPC_EmitIntegerI32, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
                    MVT::i32, 2, 6, 7,
   0,
  116,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_Scope, 34,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 19,
    OPC_SwitchType , 11, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i64, 2, 0, 2,
    11, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                     MVT::i32, 2, 0, 2,
    0,
   37,
    OPC_CheckChild1TypeI64,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_H),
                    MVT::v16i8, 2, 0, 1,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 2, 3,
    OPC_EmitIntegerI32, LoongArch::GPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i64, 2, 4, 5,
    OPC_EmitIntegerI64, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
                    MVT::i64, 2, 6, 7,
   37,
    OPC_CheckChild1TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_H),
                    MVT::v16i8, 2, 0, 1,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 2, 3,
    OPC_EmitIntegerI32, LoongArch::GPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
    OPC_EmitIntegerI32, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
                    MVT::i32, 2, 6, 7,
   0,
  98,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_Scope, 34,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_SwitchType , 11, MVT::i64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_W),
                     MVT::i64, 2, 0, 2,
    11, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_W),
                     MVT::i32, 2, 0, 2,
    0,
   28,
    OPC_CheckChild1TypeI64,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_W),
                    MVT::v16i8, 2, 0, 1,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 2, 3,
    OPC_EmitIntegerI32, LoongArch::GPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i64, 2, 4, 5,
   28,
    OPC_CheckChild1TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_W),
                    MVT::v16i8, 2, 0, 1,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 2, 3,
    OPC_EmitIntegerI32, LoongArch::GPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
   0,
  82,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_Scope, 18,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 33,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_D),
                    MVT::i64, 2, 0, 2,
   28,
    OPC_CheckChild1TypeI64,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_D),
                    MVT::v16i8, 2, 0, 1,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 2, 3,
    OPC_EmitIntegerI32, LoongArch::GPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i64, 2, 4, 5,
   28,
    OPC_CheckChild1TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_D),
                    MVT::v16i8, 2, 0, 1,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 2, 3,
    OPC_EmitIntegerI32, LoongArch::GPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
   0,
  37,
   OPC_CheckChild0Type, MVT::v8i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 19,
   OPC_SwitchType , 11, MVT::i64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
                    MVT::i64, 2, 0, 2,
   11, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
                    MVT::i32, 2, 0, 2,
   0,
  21,
   OPC_CheckChild0Type, MVT::v4i64,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 14,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_D),
                   MVT::i64, 2, 0, 2,
  103,
   OPC_CheckChild0Type, 4|128,1,
   OPC_RecordChild1,
   OPC_Scope, 54,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 14,
    OPC_SwitchType , 21, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                     MVT::v16i8, 2, 0, 2,
     OPC_EmitIntegerI32, LoongArch::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 3, 4,
    21, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                     MVT::v16i8, 2, 0, 2,
     OPC_EmitIntegerI32, LoongArch::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 3, 4,
    0,
   20,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_W),
                    MVT::v16i8, 2, 0, 1,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 2, 3,
   20,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_W),
                    MVT::v16i8, 2, 0, 1,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 2, 3,
   0,
  103,
   OPC_CheckChild0Type, 22|128,1,
   OPC_RecordChild1,
   OPC_Scope, 54,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 33,
    OPC_SwitchType , 21, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                     MVT::v16i8, 2, 0, 2,
     OPC_EmitIntegerI32, LoongArch::sub_64,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 3, 4,
    21, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                     MVT::v16i8, 2, 0, 2,
     OPC_EmitIntegerI32, LoongArch::sub_64,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 3, 4,
    0,
   20,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_D),
                    MVT::v16i8, 2, 0, 1,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 2, 3,
   20,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_D),
                    MVT::v16i8, 2, 0, 1,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 2, 3,
   0,
  58,
   OPC_CheckChild0Type, 8|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 19,
   OPC_SwitchType , 21, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE_W),
                    MVT::v32i8, 2, 0, 2,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 3, 4,
   21, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE_W),
                    MVT::v32i8, 2, 0, 2,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 3, 4,
   0,
  58,
   OPC_CheckChild0Type, 24|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 14,
   OPC_SwitchType , 21, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE_D),
                    MVT::v32i8, 2, 0, 2,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 3, 4,
   21, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE_D),
                    MVT::v32i8, 2, 0, 2,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 3, 4,
   0,
  0,
 116, TARGET_VAL(LoongArchISD::SELECT_CC),
  OPC_RecordNode,
  OPC_RecordChild0,
  OPC_Scope, 54,
   OPC_CheckChild0TypeI64,
   OPC_Scope, 26,
    OPC_CheckChild1Integer, 0,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::CONDCODE),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate7,
    OPC_EmitRegisterI64, LoongArch::R0,
    OPC_EmitNodeXForm, 11, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::Select_GPR_Using_CC_GPR),
                    MVT::i64, 5, 1, 4, 5, 2, 3,
   23,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::CONDCODE),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate7,
    OPC_EmitNodeXForm, 11, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::Select_GPR_Using_CC_GPR),
                    MVT::i64, 5, 1, 2, 5, 3, 4,
   0,
  56,
   OPC_CheckChild0TypeI32,
   OPC_Scope, 27,
    OPC_CheckChild1Integer, 0,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::CONDCODE),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitRegisterI32, LoongArch::R0,
    OPC_EmitNodeXForm, 11, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::Select_GPR_Using_CC_GPR),
                    MVT::i32, 5, 1, 4, 5, 2, 3,
   24,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::CONDCODE),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitNodeXForm, 11, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::Select_GPR_Using_CC_GPR),
                    MVT::i32, 5, 1, 2, 5, 3, 4,
   0,
  0,
 107|128,5, TARGET_VAL(ISD::ROTR),
  OPC_RecordChild0,
  OPC_Scope, 8|128,1,
   OPC_RecordChild1,
   OPC_Scope, 71,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 32,
     OPC_CheckPredicate, 25,
     OPC_SwitchType , 12, MVT::i64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
                      MVT::i64, 2, 0, 2,
     12, MVT::i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
                      MVT::i32, 2, 0, 2,
     0,
    31,
     OPC_CheckPredicate, 34,
     OPC_SwitchType , 11, MVT::i64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate6,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_D),
                      MVT::i64, 2, 0, 2,
     12, MVT::i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_D),
                      MVT::i32, 2, 0, 2,
     0,
    0,
   29,
    OPC_CheckChild1TypeI64,
    OPC_CheckTypeI64,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 20,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_W),
                     MVT::i64, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_D),
                     MVT::i64, 2, 0, 2,
    0,
   30,
    OPC_CheckChild1TypeI32,
    OPC_CheckTypeI32,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 16,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_W),
                     MVT::i32, 2, 0, 2,
    12,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_D),
                     MVT::i32, 2, 0, 2,
    0,
   0,
  39|128,2,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 18|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_Scope, 17,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_B),
                     MVT::v16i8, 2, 0, 1,
    17,
     OPC_CheckPredicate, 16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_H),
                     MVT::v8i16, 2, 0, 1,
    17,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_W),
                     MVT::v4i32, 2, 0, 1,
    15,
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_D),
                     MVT::v2i64, 2, 0, 1,
    15,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_B),
                     MVT::v32i8, 2, 0, 1,
    17,
     OPC_CheckPredicate, 16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_H),
                     MVT::v16i16, 2, 0, 1,
    17,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_W),
                     MVT::v8i32, 2, 0, 1,
    17,
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   11|128,1,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_Scope, 16,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_B),
                     MVT::v16i8, 2, 0, 1,
    16,
     OPC_CheckPredicate, 16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_H),
                     MVT::v8i16, 2, 0, 1,
    16,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_W),
                     MVT::v4i32, 2, 0, 1,
    14,
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_D),
                     MVT::v2i64, 2, 0, 1,
    14,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_B),
                     MVT::v32i8, 2, 0, 1,
    16,
     OPC_CheckPredicate, 16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_H),
                     MVT::v16i16, 2, 0, 1,
    16,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_W),
                     MVT::v8i32, 2, 0, 1,
    16,
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   0,
  51|128,2,
   OPC_RecordChild1,
   OPC_SwitchType , 37, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_B),
                     MVT::v16i8, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_B),
                     MVT::v16i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   37, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_H),
                     MVT::v8i16, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_H),
                     MVT::v8i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_H),
                     MVT::v8i16, 2, 0, 1,
    0,
   35, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_W),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_W),
                     MVT::v4i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_W),
                     MVT::v4i32, 2, 0, 1,
    0,
   35, MVT::v2i64,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_D),
                     MVT::v2i64, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_D),
                     MVT::v2i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_D),
                     MVT::v2i64, 2, 0, 1,
    0,
   35, MVT::v32i8,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_B),
                     MVT::v32i8, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_B),
                     MVT::v32i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_B),
                     MVT::v32i8, 2, 0, 1,
    0,
   37, MVT::v16i16,
    OPC_CheckChild1Type, MVT::v16i16,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_H),
                     MVT::v16i16, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_H),
                     MVT::v16i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_H),
                     MVT::v16i16, 2, 0, 1,
    0,
   35, MVT::v8i32,
    OPC_CheckChild1Type, MVT::v8i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_W),
                     MVT::v8i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_W),
                     MVT::v8i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_W),
                     MVT::v8i32, 2, 0, 1,
    0,
   37, MVT::v4i64,
    OPC_CheckChild1Type, MVT::v4i64,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_D),
                     MVT::v4i64, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_D),
                     MVT::v4i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   0,
  0,
 33, TARGET_VAL(LoongArchISD::ROTR_W),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 16,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 25,
   OPC_MoveParent,
   OPC_CheckPatternPredicate6,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
                   MVT::i64, 2, 0, 2,
  11,
   OPC_CheckPatternPredicate6,
   OPC_CheckComplexPat, /*CP*/13, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_W),
                   MVT::i64, 2, 0, 2,
  0,
 107|128,5, TARGET_VAL(ISD::SHL),
  OPC_RecordChild0,
  OPC_Scope, 8|128,1,
   OPC_RecordChild1,
   OPC_Scope, 71,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 32,
     OPC_CheckPredicate, 25,
     OPC_SwitchType , 12, MVT::i64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
                      MVT::i64, 2, 0, 2,
     12, MVT::i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
                      MVT::i32, 2, 0, 2,
     0,
    31,
     OPC_CheckPredicate, 34,
     OPC_SwitchType , 11, MVT::i64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate6,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_D),
                      MVT::i64, 2, 0, 2,
     12, MVT::i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_D),
                      MVT::i32, 2, 0, 2,
     0,
    0,
   29,
    OPC_CheckChild1TypeI64,
    OPC_CheckTypeI64,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_W),
                     MVT::i64, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_D),
                     MVT::i64, 2, 0, 2,
    0,
   30,
    OPC_CheckChild1TypeI32,
    OPC_CheckTypeI32,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 13,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_W),
                     MVT::i32, 2, 0, 2,
    12,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_D),
                     MVT::i32, 2, 0, 2,
    0,
   0,
  39|128,2,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 18|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_Scope, 17,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
                     MVT::v16i8, 2, 0, 1,
    17,
     OPC_CheckPredicate, 16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
                     MVT::v8i16, 2, 0, 1,
    17,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
                     MVT::v4i32, 2, 0, 1,
    15,
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
                     MVT::v2i64, 2, 0, 1,
    15,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
                     MVT::v32i8, 2, 0, 1,
    17,
     OPC_CheckPredicate, 16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
                     MVT::v16i16, 2, 0, 1,
    17,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
                     MVT::v8i32, 2, 0, 1,
    17,
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   11|128,1,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_Scope, 16,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
                     MVT::v16i8, 2, 0, 1,
    16,
     OPC_CheckPredicate, 16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
                     MVT::v8i16, 2, 0, 1,
    16,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
                     MVT::v4i32, 2, 0, 1,
    14,
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
                     MVT::v2i64, 2, 0, 1,
    14,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
                     MVT::v32i8, 2, 0, 1,
    16,
     OPC_CheckPredicate, 16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
                     MVT::v16i16, 2, 0, 1,
    16,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
                     MVT::v8i32, 2, 0, 1,
    16,
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   0,
  51|128,2,
   OPC_RecordChild1,
   OPC_SwitchType , 37, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_B),
                     MVT::v16i8, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_B),
                     MVT::v16i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   37, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_H),
                     MVT::v8i16, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_H),
                     MVT::v8i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
                     MVT::v8i16, 2, 0, 1,
    0,
   35, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_W),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_W),
                     MVT::v4i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
                     MVT::v4i32, 2, 0, 1,
    0,
   35, MVT::v2i64,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_D),
                     MVT::v2i64, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_D),
                     MVT::v2i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
                     MVT::v2i64, 2, 0, 1,
    0,
   35, MVT::v32i8,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_B),
                     MVT::v32i8, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_B),
                     MVT::v32i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
                     MVT::v32i8, 2, 0, 1,
    0,
   37, MVT::v16i16,
    OPC_CheckChild1Type, MVT::v16i16,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_H),
                     MVT::v16i16, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_H),
                     MVT::v16i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
                     MVT::v16i16, 2, 0, 1,
    0,
   35, MVT::v8i32,
    OPC_CheckChild1Type, MVT::v8i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_W),
                     MVT::v8i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_W),
                     MVT::v8i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
                     MVT::v8i32, 2, 0, 1,
    0,
   37, MVT::v4i64,
    OPC_CheckChild1Type, MVT::v4i64,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_D),
                     MVT::v4i64, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_D),
                     MVT::v4i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   0,
  0,
 107|128,5, TARGET_VAL(ISD::SRA),
  OPC_RecordChild0,
  OPC_Scope, 8|128,1,
   OPC_RecordChild1,
   OPC_Scope, 71,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 32,
     OPC_CheckPredicate, 25,
     OPC_SwitchType , 12, MVT::i64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
                      MVT::i64, 2, 0, 2,
     12, MVT::i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
                      MVT::i32, 2, 0, 2,
     0,
    31,
     OPC_CheckPredicate, 34,
     OPC_SwitchType , 11, MVT::i64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate6,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_D),
                      MVT::i64, 2, 0, 2,
     12, MVT::i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_D),
                      MVT::i32, 2, 0, 2,
     0,
    0,
   29,
    OPC_CheckChild1TypeI64,
    OPC_CheckTypeI64,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_W),
                     MVT::i64, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_D),
                     MVT::i64, 2, 0, 2,
    0,
   30,
    OPC_CheckChild1TypeI32,
    OPC_CheckTypeI32,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 13,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_W),
                     MVT::i32, 2, 0, 2,
    12,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_D),
                     MVT::i32, 2, 0, 2,
    0,
   0,
  39|128,2,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 18|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_Scope, 17,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
                     MVT::v16i8, 2, 0, 1,
    17,
     OPC_CheckPredicate, 16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
                     MVT::v8i16, 2, 0, 1,
    17,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
                     MVT::v4i32, 2, 0, 1,
    15,
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
                     MVT::v2i64, 2, 0, 1,
    15,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
                     MVT::v32i8, 2, 0, 1,
    17,
     OPC_CheckPredicate, 16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
                     MVT::v16i16, 2, 0, 1,
    17,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
                     MVT::v8i32, 2, 0, 1,
    17,
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   11|128,1,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_Scope, 16,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
                     MVT::v16i8, 2, 0, 1,
    16,
     OPC_CheckPredicate, 16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
                     MVT::v8i16, 2, 0, 1,
    16,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
                     MVT::v4i32, 2, 0, 1,
    14,
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
                     MVT::v2i64, 2, 0, 1,
    14,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
                     MVT::v32i8, 2, 0, 1,
    16,
     OPC_CheckPredicate, 16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
                     MVT::v16i16, 2, 0, 1,
    16,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
                     MVT::v8i32, 2, 0, 1,
    16,
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   0,
  51|128,2,
   OPC_RecordChild1,
   OPC_SwitchType , 37, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_B),
                     MVT::v16i8, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_B),
                     MVT::v16i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   37, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_H),
                     MVT::v8i16, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_H),
                     MVT::v8i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
                     MVT::v8i16, 2, 0, 1,
    0,
   35, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_W),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_W),
                     MVT::v4i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
                     MVT::v4i32, 2, 0, 1,
    0,
   35, MVT::v2i64,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_D),
                     MVT::v2i64, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_D),
                     MVT::v2i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
                     MVT::v2i64, 2, 0, 1,
    0,
   35, MVT::v32i8,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_B),
                     MVT::v32i8, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_B),
                     MVT::v32i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
                     MVT::v32i8, 2, 0, 1,
    0,
   37, MVT::v16i16,
    OPC_CheckChild1Type, MVT::v16i16,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_H),
                     MVT::v16i16, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_H),
                     MVT::v16i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
                     MVT::v16i16, 2, 0, 1,
    0,
   35, MVT::v8i32,
    OPC_CheckChild1Type, MVT::v8i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_W),
                     MVT::v8i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_W),
                     MVT::v8i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
                     MVT::v8i32, 2, 0, 1,
    0,
   37, MVT::v4i64,
    OPC_CheckChild1Type, MVT::v4i64,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_D),
                     MVT::v4i64, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_D),
                     MVT::v4i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   0,
  0,
 107|128,5, TARGET_VAL(ISD::SRL),
  OPC_RecordChild0,
  OPC_Scope, 8|128,1,
   OPC_RecordChild1,
   OPC_Scope, 71,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 32,
     OPC_CheckPredicate, 25,
     OPC_SwitchType , 12, MVT::i64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRLI_W),
                      MVT::i64, 2, 0, 2,
     12, MVT::i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRLI_W),
                      MVT::i32, 2, 0, 2,
     0,
    31,
     OPC_CheckPredicate, 34,
     OPC_SwitchType , 11, MVT::i64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate6,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRLI_D),
                      MVT::i64, 2, 0, 2,
     12, MVT::i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRLI_D),
                      MVT::i32, 2, 0, 2,
     0,
    0,
   29,
    OPC_CheckChild1TypeI64,
    OPC_CheckTypeI64,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_W),
                     MVT::i64, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_D),
                     MVT::i64, 2, 0, 2,
    0,
   30,
    OPC_CheckChild1TypeI32,
    OPC_CheckTypeI32,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 13,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_W),
                     MVT::i32, 2, 0, 2,
    12,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_D),
                     MVT::i32, 2, 0, 2,
    0,
   0,
  39|128,2,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 18|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_Scope, 17,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
                     MVT::v16i8, 2, 0, 1,
    17,
     OPC_CheckPredicate, 16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
                     MVT::v8i16, 2, 0, 1,
    17,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
                     MVT::v4i32, 2, 0, 1,
    15,
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
                     MVT::v2i64, 2, 0, 1,
    15,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
                     MVT::v32i8, 2, 0, 1,
    17,
     OPC_CheckPredicate, 16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
                     MVT::v16i16, 2, 0, 1,
    17,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
                     MVT::v8i32, 2, 0, 1,
    17,
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   11|128,1,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_Scope, 16,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
                     MVT::v16i8, 2, 0, 1,
    16,
     OPC_CheckPredicate, 16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
                     MVT::v8i16, 2, 0, 1,
    16,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
                     MVT::v4i32, 2, 0, 1,
    14,
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
                     MVT::v2i64, 2, 0, 1,
    14,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
                     MVT::v32i8, 2, 0, 1,
    16,
     OPC_CheckPredicate, 16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
                     MVT::v16i16, 2, 0, 1,
    16,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
                     MVT::v8i32, 2, 0, 1,
    16,
     OPC_CheckPredicate, 18,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   0,
  51|128,2,
   OPC_RecordChild1,
   OPC_SwitchType , 37, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_B),
                     MVT::v16i8, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_B),
                     MVT::v16i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
                     MVT::v16i8, 2, 0, 1,
    0,
   37, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_H),
                     MVT::v8i16, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_H),
                     MVT::v8i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
                     MVT::v8i16, 2, 0, 1,
    0,
   35, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_W),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_W),
                     MVT::v4i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
                     MVT::v4i32, 2, 0, 1,
    0,
   35, MVT::v2i64,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_D),
                     MVT::v2i64, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_D),
                     MVT::v2i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
                     MVT::v2i64, 2, 0, 1,
    0,
   35, MVT::v32i8,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_B),
                     MVT::v32i8, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_B),
                     MVT::v32i8, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
                     MVT::v32i8, 2, 0, 1,
    0,
   37, MVT::v16i16,
    OPC_CheckChild1Type, MVT::v16i16,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_H),
                     MVT::v16i16, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_H),
                     MVT::v16i16, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
                     MVT::v16i16, 2, 0, 1,
    0,
   35, MVT::v8i32,
    OPC_CheckChild1Type, MVT::v8i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_W),
                     MVT::v8i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_W),
                     MVT::v8i32, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
                     MVT::v8i32, 2, 0, 1,
    0,
   37, MVT::v4i64,
    OPC_CheckChild1Type, MVT::v4i64,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_D),
                     MVT::v4i64, 2, 0, 2,
    11,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_D),
                     MVT::v4i64, 2, 0, 2,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   0,
  0,
 33, TARGET_VAL(LoongArchISD::DBAR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 46,
  OPC_SwitchType , 9, MVT::i64,
   OPC_MoveParent,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
                   1, 2,
  10, MVT::i32,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
                   1, 2,
  0,
 33, TARGET_VAL(LoongArchISD::IBAR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 46,
  OPC_SwitchType , 9, MVT::i64,
   OPC_MoveParent,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IBAR),
                   1, 2,
  10, MVT::i32,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IBAR),
                   1, 2,
  0,
 33, TARGET_VAL(LoongArchISD::BREAK),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 46,
  OPC_SwitchType , 9, MVT::i64,
   OPC_MoveParent,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
                   1, 2,
  10, MVT::i32,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
                   1, 2,
  0,
 33, TARGET_VAL(LoongArchISD::SYSCALL),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 46,
  OPC_SwitchType , 9, MVT::i64,
   OPC_MoveParent,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::SYSCALL),
                   1, 2,
  10, MVT::i32,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::SYSCALL),
                   1, 2,
  0,
 37, TARGET_VAL(LoongArchISD::CSRRD),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 49,
  OPC_SwitchType , 11, MVT::i64,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRRD),
                   MVT::i64, 1, 2,
  12, MVT::i32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRRD),
                   MVT::i32, 1, 2,
  0,
 40, TARGET_VAL(LoongArchISD::CSRWR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 49,
  OPC_SwitchType , 12, MVT::i64,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRWR),
                   MVT::i64, 2, 1, 3,
  13, MVT::i32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRWR),
                   MVT::i32, 2, 1, 3,
  0,
 43, TARGET_VAL(LoongArchISD::CSRXCHG),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_MoveChild3,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 49,
  OPC_SwitchType , 13, MVT::i64,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRXCHG),
                   MVT::i64, 3, 1, 2, 4,
  14, MVT::i32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRXCHG),
                   MVT::i32, 3, 1, 2, 4,
  0,
 51|128,1, TARGET_VAL(LoongArchISD::VPICK_SEXT_ELT),
  OPC_RecordChild0,
  OPC_Scope, 43,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 27,
   OPC_SwitchType , 14, MVT::i64,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                    MVT::i64, 2, 0, 2,
   14, MVT::i32,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
                    MVT::i32, 2, 0, 2,
   0,
  43,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 19,
   OPC_SwitchType , 14, MVT::i64,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                    MVT::i64, 2, 0, 2,
   14, MVT::i32,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
                    MVT::i32, 2, 0, 2,
   0,
  43,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 14,
   OPC_SwitchType , 14, MVT::i64,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_W),
                    MVT::i64, 2, 0, 2,
   14, MVT::i32,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_W),
                    MVT::i32, 2, 0, 2,
   0,
  43,
   OPC_CheckChild0Type, MVT::v8i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 19,
   OPC_SwitchType , 14, MVT::i64,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
                    MVT::i64, 2, 0, 2,
   14, MVT::i32,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
                    MVT::i32, 2, 0, 2,
   0,
  0,
 51|128,1, TARGET_VAL(LoongArchISD::VPICK_ZEXT_ELT),
  OPC_RecordChild0,
  OPC_Scope, 43,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 27,
   OPC_SwitchType , 14, MVT::i64,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_BU),
                    MVT::i64, 2, 0, 2,
   14, MVT::i32,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_BU),
                    MVT::i32, 2, 0, 2,
   0,
  43,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 19,
   OPC_SwitchType , 14, MVT::i64,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_HU),
                    MVT::i64, 2, 0, 2,
   14, MVT::i32,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_HU),
                    MVT::i32, 2, 0, 2,
   0,
  43,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 14,
   OPC_SwitchType , 14, MVT::i64,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_WU),
                    MVT::i64, 2, 0, 2,
   14, MVT::i32,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_WU),
                    MVT::i32, 2, 0, 2,
   0,
  43,
   OPC_CheckChild0Type, MVT::v8i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 19,
   OPC_SwitchType , 14, MVT::i64,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_WU),
                    MVT::i64, 2, 0, 2,
   14, MVT::i32,
    OPC_MoveSibling2,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_WU),
                    MVT::i32, 2, 0, 2,
   0,
  0,
 40, TARGET_VAL(LoongArchISD::MOVGR2FCSR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 14,
  OPC_SwitchType , 13, MVT::i64,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::WRFCSR),
                   2, 3, 2,
  13, MVT::i32,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::WRFCSR),
                   2, 3, 2,
  0,
 38, TARGET_VAL(LoongArchISD::MOVFCSR2GR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 14,
  OPC_SwitchType , 12, MVT::i64,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::RDFCSR),
                   MVT::i64, 1, 2,
  12, MVT::i32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::RDFCSR),
                   MVT::i32, 1, 2,
  0,
 13, TARGET_VAL(LoongArchISD::SLL_W),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate6,
  OPC_CheckComplexPat, /*CP*/13, /*#*/1,
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_W),
                  MVT::i64, 2, 0, 2,
 13, TARGET_VAL(LoongArchISD::SRA_W),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate6,
  OPC_CheckComplexPat, /*CP*/13, /*#*/1,
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_W),
                  MVT::i64, 2, 0, 2,
 13, TARGET_VAL(LoongArchISD::SRL_W),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate6,
  OPC_CheckComplexPat, /*CP*/13, /*#*/1,
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_W),
                  MVT::i64, 2, 0, 2,
 86, TARGET_VAL(LoongArchISD::CALL),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 59,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_SwitchType , 9, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_SMALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    10, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_SMALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    0,
   25, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_SwitchType , 9, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_SMALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    10, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_SMALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    0,
   0,
  9,
   OPC_CheckChild1TypeI64,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   1, 1,
  10,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   1, 1,
  0,
 86, TARGET_VAL(LoongArchISD::CALL_MEDIUM),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 59,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_SwitchType , 9, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    10, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    0,
   25, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_SwitchType , 9, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    10, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    0,
   0,
  9,
   OPC_CheckChild1TypeI64,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   1, 1,
  10,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   1, 1,
  0,
 86, TARGET_VAL(LoongArchISD::CALL_LARGE),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 59,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_SwitchType , 9, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    10, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    0,
   25, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_SwitchType , 9, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    10, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    0,
   0,
  9,
   OPC_CheckChild1TypeI64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   1, 1,
  10,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   1, 1,
  0,
 86, TARGET_VAL(LoongArchISD::TAIL),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 59,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_SwitchType , 9, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_SMALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    10, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_SMALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    0,
   25, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_SwitchType , 9, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_SMALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    10, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_SMALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    0,
   0,
  9,
   OPC_CheckChild1TypeI64,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   1, 1,
  10,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   1, 1,
  0,
 86, TARGET_VAL(LoongArchISD::TAIL_MEDIUM),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 59,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_SwitchType , 9, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    10, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    0,
   25, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_SwitchType , 9, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    10, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    0,
   0,
  9,
   OPC_CheckChild1TypeI64,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   1, 1,
  10,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   1, 1,
  0,
 86, TARGET_VAL(LoongArchISD::TAIL_LARGE),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 59,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_SwitchType , 9, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    10, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    0,
   25, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_SwitchType , 9, MVT::i64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    10, MVT::i32,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     1, 1,
    0,
   0,
  9,
   OPC_CheckChild1TypeI64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   1, 1,
  10,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   1, 1,
  0,
 64|128,2, TARGET_VAL(ISD::BSWAP),
  OPC_Scope, 51,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITREVERSE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 19, MVT::i64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 20,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
                     MVT::i64, 1, 0,
    7,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
                     MVT::i64, 1, 0,
    0,
   20, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
                     MVT::i32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
                     MVT::i32, 1, 0,
    0,
   0,
  8|128,2,
   OPC_RecordChild0,
   OPC_SwitchType , 28, MVT::i64,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_D),
                     MVT::i64, 1, 0,
    17,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::REVB_2H),
                     MVT::i64, 1, 0,
     OPC_EmitIntegerI64, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
                     MVT::i64, 2, 1, 2,
    0,
   29, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_D),
                     MVT::i32, 1, 0,
    17,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::REVB_2H),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
                     MVT::i32, 2, 1, 2,
    0,
   26, MVT::v8i16,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI64, 49|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
                     MVT::v8i16, 2, 0, 1,
    11,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
                     MVT::v8i16, 2, 0, 1,
    0,
   24, MVT::v4i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI64, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
                     MVT::v4i32, 2, 0, 1,
    10,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
                     MVT::v4i32, 2, 0, 1,
    0,
   26, MVT::v16i16,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 49|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
                     MVT::v16i16, 2, 0, 1,
    11,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
                     MVT::v16i16, 2, 0, 1,
    0,
   24, MVT::v8i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
                     MVT::v8i32, 2, 0, 1,
    10,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 27,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
                     MVT::v8i32, 2, 0, 1,
    0,
   44, MVT::v2i64,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI64, 27,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::VSHUF4I_B),
                     MVT::v16i8, 2, 0, 1,
     OPC_EmitIntegerI64, 49|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
                     MVT::v2i64, 2, 2, 3,
    20,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 27,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::VSHUF4I_B),
                     MVT::v16i8, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
                     MVT::v2i64, 2, 2, 3,
    0,
   44, MVT::v4i64,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 27,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI64, 49|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
                     MVT::v4i64, 2, 2, 3,
    20,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 27,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
                     MVT::v32i8, 2, 0, 1,
     OPC_EmitIntegerI32, 49|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
                     MVT::v4i64, 2, 2, 3,
    0,
   0,
  0,
 101, TARGET_VAL(ISD::BITREVERSE),
  OPC_Scope, 51,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 19, MVT::i64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 20,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
                     MVT::i64, 1, 0,
    7,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
                     MVT::i64, 1, 0,
    0,
   20, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
                     MVT::i32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
                     MVT::i32, 1, 0,
    0,
   0,
  46,
   OPC_RecordChild0,
   OPC_SwitchType , 19, MVT::i64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 20,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_W),
                     MVT::i64, 1, 0,
    7,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_D),
                     MVT::i64, 1, 0,
    0,
   20, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_W),
                     MVT::i32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_D),
                     MVT::i32, 1, 0,
    0,
   0,
  0,
 113|128,1, TARGET_VAL(ISD::IS_FPCLASS),
  OPC_RecordChild0,
  OPC_Scope, 81,
   OPC_CheckChild0Type, MVT::f32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_SwitchType , 33, MVT::i64,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitRegisterI64, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_S),
                    MVT::f32, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
                    MVT::i64, 1, 3,
    OPC_EmitNodeXForm, 12, 1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
                    MVT::i64, 2, 4, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                    MVT::i64, 2, 2, 6,
   33, MVT::i32,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitRegisterI32, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_S),
                    MVT::f32, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
                    MVT::i32, 1, 3,
    OPC_EmitNodeXForm, 12, 1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
                    MVT::i32, 2, 4, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                    MVT::i32, 2, 2, 6,
   0,
  26|128,1,
   OPC_CheckChild0Type, MVT::f64,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_SwitchType , 69, MVT::i64,
    OPC_Scope, 33,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitRegisterI64, LoongArch::R0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
                     MVT::f64, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_S_64),
                     MVT::i64, 1, 3,
     OPC_EmitNodeXForm, 12, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
                     MVT::i64, 2, 4, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                     MVT::i64, 2, 2, 6,
    32,
     OPC_CheckPatternPredicate6,
     OPC_EmitRegisterI64, LoongArch::R0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
                     MVT::f64, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_D),
                     MVT::i64, 1, 3,
     OPC_EmitNodeXForm, 12, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
                     MVT::i64, 2, 4, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                     MVT::i64, 2, 2, 6,
    0,
   70, MVT::i32,
    OPC_Scope, 33,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitRegisterI32, LoongArch::R0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
                     MVT::f64, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_S_64),
                     MVT::i32, 1, 3,
     OPC_EmitNodeXForm, 12, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
                     MVT::i32, 2, 4, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                     MVT::i32, 2, 2, 6,
    33,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitRegisterI32, LoongArch::R0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
                     MVT::f64, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_D),
                     MVT::i32, 1, 3,
     OPC_EmitNodeXForm, 12, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
                     MVT::i32, 2, 4, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
                     MVT::i32, 2, 2, 6,
    0,
   0,
  0,
 127|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_NAND),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 53|128,1, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_Scope, 88,
    OPC_CheckPredicate, 10,
    OPC_Scope, 15,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    16,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    16,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    16,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    16,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    0,
   87,
    OPC_CheckPredicate2,
    OPC_Scope, 15,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    16,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    16,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    16,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    16,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    0,
   0,
  63|128,1, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_Scope, 93,
    OPC_CheckPredicate, 10,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    0,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    0,
   0,
  0,
 37|128,3, TARGET_VAL(ISD::ATOMIC_SWAP),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 75|128,1, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_Scope, 12,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   11,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   12,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate5,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   12,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   12,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    0,
   0,
  79|128,1, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_Scope, 13,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   14,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   12,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   13,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   13,
    OPC_CheckPredicate5,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   12,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   12,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    0,
   0,
  0,
 37|128,3, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 75|128,1, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_Scope, 13,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate5,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   12,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   12,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   12,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   11,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   12,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    0,
   0,
  79|128,1, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_Scope, 13,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   13,
    OPC_CheckPredicate5,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   12,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   12,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   13,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   14,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   12,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    0,
   0,
  0,
 31|128,4, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 54|128,2, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 14,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 24,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMCAS_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 3, 2, 3, 1,
   14,
    OPC_CheckPredicate5,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 24,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMCAS_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 3, 2, 3, 1,
   14,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 24,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMCAS_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 3, 2, 3, 1,
   15,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 24,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMCAS_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 3, 2, 3, 1,
   13,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 24,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMCAS__DB_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 3, 2, 3, 1,
   13,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 24,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMCAS__DB_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 3, 2, 3, 1,
   13,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate, 24,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMCAS__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 3, 2, 3, 1,
   107,
    OPC_CheckPredicate, 10,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 24,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMCAS__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 2, 3, 1,
    17,
     OPC_CheckPredicate, 50,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
    17,
     OPC_CheckPredicate, 51,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
    17,
     OPC_CheckPredicate, 52,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
    17,
     OPC_CheckPredicate, 53,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
    17,
     OPC_CheckPredicate, 54,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
    0,
   93,
    OPC_CheckPredicate2,
    OPC_Scope, 17,
     OPC_CheckPredicate, 50,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
    17,
     OPC_CheckPredicate, 51,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
    17,
     OPC_CheckPredicate, 52,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
    17,
     OPC_CheckPredicate, 53,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
    17,
     OPC_CheckPredicate, 54,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
    0,
   0,
  94|128,1, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 14,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMCAS_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 2, 3, 1,
   14,
    OPC_CheckPredicate5,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMCAS_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 2, 3, 1,
   14,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMCAS_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 2, 3, 1,
   15,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMCAS_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 2, 3, 1,
   13,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMCAS__DB_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 2, 3, 1,
   13,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMCAS__DB_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 2, 3, 1,
   13,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMCAS__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 2, 3, 1,
   14,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMCAS__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 2, 3, 1,
   98,
    OPC_CheckPredicate2,
    OPC_Scope, 18,
     OPC_CheckPredicate, 50,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
    18,
     OPC_CheckPredicate, 51,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
    18,
     OPC_CheckPredicate, 52,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
    18,
     OPC_CheckPredicate, 53,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
    18,
     OPC_CheckPredicate, 54,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
    0,
   0,
  0,
 57|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 21|128,1, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_Scope, 12,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   11,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   12,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    0,
   0,
  25|128,1, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_Scope, 13,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   14,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   12,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    0,
   0,
  0,
 57|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 21|128,1, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_Scope, 12,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   11,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   12,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    0,
   0,
  25|128,1, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_Scope, 13,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   14,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   12,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    0,
   0,
  0,
 57|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 21|128,1, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_Scope, 12,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   11,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   12,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    0,
   0,
  25|128,1, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_Scope, 13,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   14,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   12,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    0,
   0,
  0,
 57|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 21|128,1, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_Scope, 12,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN_WU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN_DU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   11,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   12,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    0,
   0,
  25|128,1, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_Scope, 13,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN_WU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   14,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN_DU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   12,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    0,
   0,
  0,
 57|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 21|128,1, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_Scope, 12,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX_WU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX_DU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   11,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   12,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    0,
   0,
  25|128,1, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_Scope, 13,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX_WU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   14,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX_DU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   12,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    0,
   0,
  0,
 57|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_MIN),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 21|128,1, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_Scope, 12,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   11,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   12,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    0,
   0,
  25|128,1, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_Scope, 13,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   14,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   12,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    0,
   0,
  0,
 57|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_MAX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 21|128,1, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_Scope, 12,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   11,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   12,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    0,
   0,
  25|128,1, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_Scope, 13,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   14,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   12,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 1,
   92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    0,
   0,
  0,
 53|128,4, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 19|128,2, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_Scope, 92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, MVT::i64, 3, 1, 2, 3,
    0,
   22,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   22,
    OPC_CheckPredicate5,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   21,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   21,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   21,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   22,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_D),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   20,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   21,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_D),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   0,
  23|128,2, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_Scope, 92,
    OPC_CheckPredicate2,
    OPC_Scope, 16,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 22,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 23,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 6,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    17,
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 7,
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    0,
   22,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI32, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
                    MVT::i32, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 4, 1,
   22,
    OPC_CheckPredicate5,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI32, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
                    MVT::i32, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 4, 1,
   21,
    OPC_CheckPredicate4,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI32, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
                    MVT::i32, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_B), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 4, 1,
   21,
    OPC_CheckPredicate5,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI32, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
                    MVT::i32, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_H), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 4, 1,
   22,
    OPC_CheckPredicate2,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI32, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
                    MVT::i32, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 4, 1,
   23,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI32, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_D),
                    MVT::i32, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 4, 1,
   21,
    OPC_CheckPredicate2,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI32, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
                    MVT::i32, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 4, 1,
   22,
    OPC_CheckPredicate, 10,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI32, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_D),
                    MVT::i32, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 4, 1,
   0,
  0,
 6, TARGET_VAL(ISD::TRAP),
  OPC_RecordNode,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoUNIMP),
                  0,
 13, TARGET_VAL(ISD::BR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBR),
                  1, 1,
 8, TARGET_VAL(LoongArchISD::RET),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoRET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
                  0,
 17|128,4, TARGET_VAL(ISD::SUB),
  OPC_Scope, 3|128,2,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 21, MVT::i64,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_W),
                     MVT::i64, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_D),
                     MVT::i64, 2, 0, 1,
    0,
   22, MVT::i32,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_W),
                     MVT::i32, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_D),
                     MVT::i32, 2, 0, 1,
    0,
   24, MVT::v16i8,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_BU),
                     MVT::v16i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_BU),
                     MVT::v16i8, 2, 0, 2,
    0,
   24, MVT::v8i16,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_HU),
                     MVT::v8i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_HU),
                     MVT::v8i16, 2, 0, 2,
    0,
   24, MVT::v4i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_WU),
                     MVT::v4i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_WU),
                     MVT::v4i32, 2, 0, 2,
    0,
   24, MVT::v2i64,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_DU),
                     MVT::v2i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_DU),
                     MVT::v2i64, 2, 0, 2,
    0,
   24, MVT::v32i8,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_BU),
                     MVT::v32i8, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_BU),
                     MVT::v32i8, 2, 0, 2,
    0,
   24, MVT::v16i16,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_HU),
                     MVT::v16i16, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_HU),
                     MVT::v16i16, 2, 0, 2,
    0,
   24, MVT::v8i32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_WU),
                     MVT::v8i32, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_WU),
                     MVT::v8i32, 2, 0, 2,
    0,
   24, MVT::v4i64,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_DU),
                     MVT::v4i64, 2, 0, 2,
    10,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_DU),
                     MVT::v4i64, 2, 0, 2,
    0,
   0,
  78,
   OPC_MoveChild0,
   OPC_CheckImmAllZerosV,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 7, MVT::v16i8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_B),
                    MVT::v16i8, 1, 0,
   7, MVT::v8i16,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_H),
                    MVT::v8i16, 1, 0,
   7, MVT::v4i32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_W),
                    MVT::v4i32, 1, 0,
   7, MVT::v2i64,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_D),
                    MVT::v2i64, 1, 0,
   7, MVT::v32i8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_B),
                    MVT::v32i8, 1, 0,
   7, MVT::v16i16,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_H),
                    MVT::v16i16, 1, 0,
   7, MVT::v8i32,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_W),
                    MVT::v8i32, 1, 0,
   7, MVT::v4i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_D),
                    MVT::v4i64, 1, 0,
   0,
  57|128,1,
   OPC_RecordChild0,
   OPC_Scope, 97,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_B),
                     MVT::v16i8, 3, 0, 1, 2,
    9, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_H),
                     MVT::v8i16, 3, 0, 1, 2,
    9, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_W),
                     MVT::v4i32, 3, 0, 1, 2,
    9, MVT::v2i64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_D),
                     MVT::v2i64, 3, 0, 1, 2,
    9, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_B),
                     MVT::v32i8, 3, 0, 1, 2,
    9, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_H),
                     MVT::v16i16, 3, 0, 1, 2,
    9, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_W),
                     MVT::v8i32, 3, 0, 1, 2,
    9, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_D),
                     MVT::v4i64, 3, 0, 1, 2,
    0,
   83,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_B),
                     MVT::v16i8, 2, 0, 1,
    8, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_H),
                     MVT::v8i16, 2, 0, 1,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_W),
                     MVT::v4i32, 2, 0, 1,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_D),
                     MVT::v2i64, 2, 0, 1,
    8, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_B),
                     MVT::v32i8, 2, 0, 1,
    8, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_H),
                     MVT::v16i16, 2, 0, 1,
    8, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_W),
                     MVT::v8i32, 2, 0, 1,
    8, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_D),
                     MVT::v4i64, 2, 0, 1,
    0,
   0,
  0,
 3|128,1, TARGET_VAL(ISD::MULHS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 21, MVT::i64,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_W),
                    MVT::i64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_D),
                    MVT::i64, 2, 0, 1,
   0,
  22, MVT::i32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_W),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_D),
                    MVT::i32, 2, 0, 1,
   0,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_D),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_B),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_H),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_W),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_D),
                   MVT::v4i64, 2, 0, 1,
  0,
 3|128,1, TARGET_VAL(ISD::MULHU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 21, MVT::i64,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_WU),
                    MVT::i64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_DU),
                    MVT::i64, 2, 0, 1,
   0,
  22, MVT::i32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_WU),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_DU),
                    MVT::i32, 2, 0, 1,
   0,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_BU),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_HU),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_WU),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_DU),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_BU),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_HU),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_WU),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_DU),
                   MVT::v4i64, 2, 0, 1,
  0,
 24, TARGET_VAL(ISD::DEBUGTRAP),
  OPC_RecordNode,
  OPC_Scope, 9,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI64, 0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
                   1, 1,
  10,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
                   1, 1,
  0,
 24, TARGET_VAL(LoongArchISD::REVB_2H),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::i64,
   OPC_CheckChild0TypeI64,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_2H),
                   MVT::i64, 1, 0,
  9, MVT::i32,
   OPC_CheckChild0TypeI32,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_2H),
                   MVT::i32, 1, 0,
  0,
 24, TARGET_VAL(LoongArchISD::BITREV_4B),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::i64,
   OPC_CheckChild0TypeI64,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
                   MVT::i64, 1, 0,
  9, MVT::i32,
   OPC_CheckChild0TypeI32,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
                   MVT::i32, 1, 0,
  0,
 24, TARGET_VAL(LoongArchISD::REVB_2W),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::i64,
   OPC_CheckChild0TypeI64,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_2W),
                   MVT::i64, 1, 0,
  9, MVT::i32,
   OPC_CheckChild0TypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_2W),
                   MVT::i32, 1, 0,
  0,
 24, TARGET_VAL(LoongArchISD::BITREV_8B),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::i64,
   OPC_CheckChild0TypeI64,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
                   MVT::i64, 1, 0,
  9, MVT::i32,
   OPC_CheckChild0TypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
                   MVT::i32, 1, 0,
  0,
 24, TARGET_VAL(LoongArchISD::BITREV_W),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::i64,
   OPC_CheckChild0TypeI64,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_W),
                   MVT::i64, 1, 0,
  9, MVT::i32,
   OPC_CheckChild0TypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_W),
                   MVT::i32, 1, 0,
  0,
 12, TARGET_VAL(LoongArchISD::CRC_W_B_W),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate6,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRC_W_B_W),
                  MVT::i64, 2, 1, 2,
 12, TARGET_VAL(LoongArchISD::CRC_W_H_W),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate6,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRC_W_H_W),
                  MVT::i64, 2, 1, 2,
 12, TARGET_VAL(LoongArchISD::CRC_W_W_W),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate6,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRC_W_W_W),
                  MVT::i64, 2, 1, 2,
 12, TARGET_VAL(LoongArchISD::CRC_W_D_W),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate6,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRC_W_D_W),
                  MVT::i64, 2, 1, 2,
 12, TARGET_VAL(LoongArchISD::CRCC_W_B_W),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate6,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRCC_W_B_W),
                  MVT::i64, 2, 1, 2,
 12, TARGET_VAL(LoongArchISD::CRCC_W_H_W),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate6,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRCC_W_H_W),
                  MVT::i64, 2, 1, 2,
 12, TARGET_VAL(LoongArchISD::CRCC_W_W_W),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate6,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRCC_W_W_W),
                  MVT::i64, 2, 1, 2,
 12, TARGET_VAL(LoongArchISD::CRCC_W_D_W),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate6,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRCC_W_D_W),
                  MVT::i64, 2, 1, 2,
 32|128,6, TARGET_VAL(ISD::STRICT_FSETCC),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 12|128,3,
   OPC_CheckChild1Type, MVT::f32,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_Scope, 29,
    OPC_CheckCondCode, ISD::SETOEQ,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETOLT,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETOLE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETONE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CNE_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CNE_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETO,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_COR_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_COR_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETUEQ,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETULT,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULT_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULT_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULE_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULE_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETUNE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUNE_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUNE_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETUO,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUN_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUN_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_S),
                     MVT::i32, 2, 1, 2,
    0,
   0,
  12|128,3,
   OPC_CheckChild1Type, MVT::f64,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_Scope, 29,
    OPC_CheckCondCode, ISD::SETOEQ,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETOLT,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETOLE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETONE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CNE_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CNE_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETO,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_COR_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_COR_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETUEQ,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETULT,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULT_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULT_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULE_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULE_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETUNE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUNE_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUNE_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETUO,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUN_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUN_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_D),
                     MVT::i32, 2, 1, 2,
    0,
   0,
  0,
 40|128,5, TARGET_VAL(ISD::STRICT_FSETCCS),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 80|128,2,
   OPC_CheckChild1Type, MVT::f32,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_Scope, 29,
    OPC_CheckCondCode, ISD::SETOEQ,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SEQ_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SEQ_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETOLT,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETOLE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLE_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLE_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETONE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SNE_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SNE_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETO,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SOR_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SOR_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETUEQ,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUEQ_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUEQ_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETULT,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULT_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULT_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULE_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULE_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETUNE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUNE_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUNE_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETUO,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUN_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUN_S),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_S),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_S),
                     MVT::i32, 2, 1, 2,
    0,
   0,
  80|128,2,
   OPC_CheckChild1Type, MVT::f64,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_Scope, 29,
    OPC_CheckCondCode, ISD::SETOEQ,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SEQ_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SEQ_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETOLT,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETOLE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLE_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLE_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETONE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SNE_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SNE_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETO,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SOR_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SOR_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETUEQ,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUEQ_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUEQ_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETULT,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULT_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULT_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULE_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULE_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETUNE,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUNE_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUNE_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETUO,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUN_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUN_D),
                     MVT::i32, 2, 1, 2,
    0,
   29,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i64,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_D),
                     MVT::i64, 2, 1, 2,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_D),
                     MVT::i32, 2, 1, 2,
    0,
   0,
  0,
 27, TARGET_VAL(LoongArchISD::IOCSRRD_B),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_B),
                   MVT::i64, 1, 1,
  10, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_B),
                   MVT::i32, 1, 1,
  0,
 27, TARGET_VAL(LoongArchISD::IOCSRRD_H),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_H),
                   MVT::i64, 1, 1,
  10, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_H),
                   MVT::i32, 1, 1,
  0,
 27, TARGET_VAL(LoongArchISD::IOCSRRD_W),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_W),
                   MVT::i64, 1, 1,
  10, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_W),
                   MVT::i32, 1, 1,
  0,
 27, TARGET_VAL(LoongArchISD::IOCSRWR_B),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 10,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_B),
                   2, 1, 2,
  11,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_B),
                   2, 1, 2,
  0,
 27, TARGET_VAL(LoongArchISD::IOCSRWR_H),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 10,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_H),
                   2, 1, 2,
  11,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_H),
                   2, 1, 2,
  0,
 27, TARGET_VAL(LoongArchISD::IOCSRWR_W),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 10,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_W),
                   2, 1, 2,
  11,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_W),
                   2, 1, 2,
  0,
 27, TARGET_VAL(LoongArchISD::CPUCFG),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CPUCFG),
                   MVT::i64, 1, 1,
  10, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CPUCFG),
                   MVT::i32, 1, 1,
  0,
 27, TARGET_VAL(LoongArchISD::IOCSRRD_D),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::i64,
   OPC_CheckChild1TypeI64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_D),
                   MVT::i64, 1, 1,
  10, MVT::i32,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_D),
                   MVT::i32, 1, 1,
  0,
 27, TARGET_VAL(LoongArchISD::IOCSRWR_D),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 10,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_D),
                   2, 1, 2,
  11,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_D),
                   2, 1, 2,
  0,
 10, TARGET_VAL(LoongArchISD::SPLIT_PAIR_F64),
  OPC_RecordChild0,
  OPC_CheckPatternPredicate, 29,
  OPC_MorphNodeTo2None, TARGET_VAL(LoongArch::SplitPairF64Pseudo),
                  MVT::i32, MVT::i32, 1, 0,
 59|128,1, TARGET_VAL(LoongArchISD::VALL_NONZERO),
  OPC_RecordChild0,
  OPC_Scope, 22,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_B),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_B),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_H),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_H),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_W),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_W),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_D),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_D),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v32i8,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_B),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_B),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v16i16,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_H),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_H),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v8i32,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_W),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_W),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v4i64,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_D),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_D),
                    MVT::i32, 1, 0,
   0,
  0,
 49, TARGET_VAL(LoongArchISD::VANY_NONZERO),
  OPC_RecordChild0,
  OPC_Scope, 22,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v32i8,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ),
                    MVT::i32, 1, 0,
   0,
  0,
 59|128,1, TARGET_VAL(LoongArchISD::VALL_ZERO),
  OPC_RecordChild0,
  OPC_Scope, 22,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_B),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_B),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_H),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_H),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_W),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_W),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_D),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_D),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v32i8,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_B),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_B),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v16i16,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_H),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_H),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v8i32,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_W),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_W),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v4i64,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_D),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_D),
                    MVT::i32, 1, 0,
   0,
  0,
 49, TARGET_VAL(LoongArchISD::VANY_ZERO),
  OPC_RecordChild0,
  OPC_Scope, 22,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v32i8,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ),
                    MVT::i32, 1, 0,
   0,
  0,
 107, TARGET_VAL(ISD::CTPOP),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::i64,
   OPC_CheckChild0TypeI64,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoCTPOP),
                   MVT::i64, 1, 0,
  8, MVT::i32,
   OPC_CheckChild0TypeI32,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoCTPOP),
                   MVT::i32, 1, 0,
  9, MVT::v16i8,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_B),
                   MVT::v16i8, 1, 0,
  9, MVT::v8i16,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_H),
                   MVT::v8i16, 1, 0,
  9, MVT::v4i32,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_W),
                   MVT::v4i32, 1, 0,
  7, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_D),
                   MVT::v2i64, 1, 0,
  7, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_B),
                   MVT::v32i8, 1, 0,
  9, MVT::v16i16,
   OPC_CheckChild0Type, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_H),
                   MVT::v16i16, 1, 0,
  9, MVT::v8i32,
   OPC_CheckChild0Type, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_W),
                   MVT::v8i32, 1, 0,
  9, MVT::v4i64,
   OPC_CheckChild0Type, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_D),
                   MVT::v4i64, 1, 0,
  0,
 3|128,1, TARGET_VAL(ISD::SDIV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 21, MVT::i64,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_W),
                    MVT::i64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_D),
                    MVT::i64, 2, 0, 1,
   0,
  22, MVT::i32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_W),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_D),
                    MVT::i32, 2, 0, 1,
   0,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_D),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_B),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_H),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_W),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_D),
                   MVT::v4i64, 2, 0, 1,
  0,
 3|128,1, TARGET_VAL(ISD::UDIV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 21, MVT::i64,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_WU),
                    MVT::i64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_DU),
                    MVT::i64, 2, 0, 1,
   0,
  22, MVT::i32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_WU),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_DU),
                    MVT::i32, 2, 0, 1,
   0,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_BU),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_HU),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_WU),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_DU),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_BU),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_HU),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_WU),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_DU),
                   MVT::v4i64, 2, 0, 1,
  0,
 3|128,1, TARGET_VAL(ISD::SREM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 21, MVT::i64,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_W),
                    MVT::i64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_D),
                    MVT::i64, 2, 0, 1,
   0,
  22, MVT::i32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_W),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_D),
                    MVT::i32, 2, 0, 1,
   0,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_D),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_B),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_H),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_W),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_D),
                   MVT::v4i64, 2, 0, 1,
  0,
 3|128,1, TARGET_VAL(ISD::UREM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 21, MVT::i64,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_WU),
                    MVT::i64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_DU),
                    MVT::i64, 2, 0, 1,
   0,
  22, MVT::i32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_WU),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_DU),
                    MVT::i32, 2, 0, 1,
   0,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_BU),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_HU),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_WU),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_DU),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_BU),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_HU),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_WU),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_DU),
                   MVT::v4i64, 2, 0, 1,
  0,
 10, TARGET_VAL(LoongArchISD::DIV_W),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate6,
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_W),
                  MVT::i64, 2, 0, 1,
 10, TARGET_VAL(LoongArchISD::DIV_WU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate6,
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_WU),
                  MVT::i64, 2, 0, 1,
 10, TARGET_VAL(LoongArchISD::MOD_W),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate6,
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_W),
                  MVT::i64, 2, 0, 1,
 10, TARGET_VAL(LoongArchISD::MOD_WU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate6,
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_WU),
                  MVT::i64, 2, 0, 1,
 95, TARGET_VAL(LoongArchISD::VMSKLTZ),
  OPC_RecordChild0,
  OPC_Scope, 22,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVMSKLTZ_B),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVMSKLTZ_B),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVMSKLTZ_H),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVMSKLTZ_H),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVMSKLTZ_W),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVMSKLTZ_W),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVMSKLTZ_D),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVMSKLTZ_D),
                    MVT::i32, 1, 0,
   0,
  0,
 23, TARGET_VAL(LoongArchISD::VMSKGEZ),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v16i8,
  OPC_SwitchType , 7, MVT::i64,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVMSKGEZ_B),
                   MVT::i64, 1, 0,
  7, MVT::i32,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVMSKGEZ_B),
                   MVT::i32, 1, 0,
  0,
 23, TARGET_VAL(LoongArchISD::VMSKEQZ),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v16i8,
  OPC_SwitchType , 7, MVT::i64,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVMSKEQZ_B),
                   MVT::i64, 1, 0,
  7, MVT::i32,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVMSKEQZ_B),
                   MVT::i32, 1, 0,
  0,
 23, TARGET_VAL(LoongArchISD::VMSKNEZ),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v16i8,
  OPC_SwitchType , 7, MVT::i64,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVMSKNEZ_B),
                   MVT::i64, 1, 0,
  7, MVT::i32,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVMSKNEZ_B),
                   MVT::i32, 1, 0,
  0,
 95, TARGET_VAL(LoongArchISD::XVMSKLTZ),
  OPC_RecordChild0,
  OPC_Scope, 22,
   OPC_CheckChild0Type, MVT::v32i8,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVMSKLTZ_B),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVMSKLTZ_B),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v16i16,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVMSKLTZ_H),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVMSKLTZ_H),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v8i32,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVMSKLTZ_W),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVMSKLTZ_W),
                    MVT::i32, 1, 0,
   0,
  22,
   OPC_CheckChild0Type, MVT::v4i64,
   OPC_SwitchType , 7, MVT::i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVMSKLTZ_D),
                    MVT::i64, 1, 0,
   7, MVT::i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVMSKLTZ_D),
                    MVT::i32, 1, 0,
   0,
  0,
 23, TARGET_VAL(LoongArchISD::XVMSKGEZ),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v32i8,
  OPC_SwitchType , 7, MVT::i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVMSKGEZ_B),
                   MVT::i64, 1, 0,
  7, MVT::i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVMSKGEZ_B),
                   MVT::i32, 1, 0,
  0,
 23, TARGET_VAL(LoongArchISD::XVMSKEQZ),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v32i8,
  OPC_SwitchType , 7, MVT::i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVMSKEQZ_B),
                   MVT::i64, 1, 0,
  7, MVT::i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVMSKEQZ_B),
                   MVT::i32, 1, 0,
  0,
 23, TARGET_VAL(LoongArchISD::XVMSKNEZ),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v32i8,
  OPC_SwitchType , 7, MVT::i64,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVMSKNEZ_B),
                   MVT::i64, 1, 0,
  7, MVT::i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVMSKNEZ_B),
                   MVT::i32, 1, 0,
  0,
 21|128,4, TARGET_VAL(ISD::FDIV),
  OPC_Scope, 49|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 36, TARGET_VAL(LoongArchISD::MOVGR2FR_D_LO_HI),
    OPC_CheckChild0Integer, 0,
    OPC_CheckChild1Integer, 0|128,0|128,64|128,127|128,3,
    OPC_Scope, 14,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 33,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_D),
                     MVT::f64, 1, 0,
    10,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 33,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_D),
                     MVT::f64, 1, 0,
    0,
   34, TARGET_VAL(LoongArchISD::MOVGR2FR_W_LA64),
    OPC_CheckChild0Integer, 0|128,0|128,0|128,124|128,3,
    OPC_Scope, 14,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_S),
                     MVT::f32, 1, 0,
    10,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_S),
                     MVT::f32, 1, 0,
    0,
   34, TARGET_VAL(LoongArchISD::MOVGR2FR_W),
    OPC_CheckChild0Integer, 0|128,0|128,0|128,124|128,3,
    OPC_Scope, 14,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 34,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_S),
                     MVT::f32, 1, 0,
    10,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 34,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_S),
                     MVT::f32, 1, 0,
    0,
   58, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 55,
    OPC_Scope, 28,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::f32,
      OPC_CheckPatternPredicate, 19,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_S),
                      MVT::f32, 1, 0,
     8, MVT::f64,
      OPC_CheckPatternPredicate, 17,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_D),
                      MVT::f64, 1, 0,
     0,
    24,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 8, MVT::f32,
      OPC_CheckPatternPredicate, 19,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_S),
                      MVT::f32, 1, 0,
     8, MVT::f64,
      OPC_CheckPatternPredicate, 17,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_D),
                      MVT::f64, 1, 0,
     0,
    0,
   0,
  26,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::f32,
    OPC_CheckPatternPredicate, 19,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FDIV_S),
                    MVT::f32, 2, 0, 1,
   9, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FDIV_D),
                    MVT::f64, 2, 0, 1,
   0,
  14|128,2,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_SwitchType , 63, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 61,
    OPC_Scope, 30,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 8, 4|128,1,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
                      4|128,1, 1, 0,
     8, 8|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
                      8|128,1, 1, 0,
     0,
    26,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 8, 4|128,1,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
                      4|128,1, 1, 0,
     8, 8|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
                      8|128,1, 1, 0,
     0,
    0,
   63, MVT::v8i32,
    OPC_MoveParent,
    OPC_CheckPredicate, 61,
    OPC_Scope, 30,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 8, 4|128,1,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
                      4|128,1, 1, 0,
     8, 8|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
                      8|128,1, 1, 0,
     0,
    26,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 8, 4|128,1,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
                      4|128,1, 1, 0,
     8, 8|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
                      8|128,1, 1, 0,
     0,
    0,
   63, MVT::v2i64,
    OPC_MoveParent,
    OPC_CheckPredicate, 62,
    OPC_Scope, 30,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 8, 22|128,1,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
                      22|128,1, 1, 0,
     8, 24|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
                      24|128,1, 1, 0,
     0,
    26,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 8, 22|128,1,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
                      22|128,1, 1, 0,
     8, 24|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
                      24|128,1, 1, 0,
     0,
    0,
   63, MVT::v4i64,
    OPC_MoveParent,
    OPC_CheckPredicate, 62,
    OPC_Scope, 30,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 8, 22|128,1,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
                      22|128,1, 1, 0,
     8, 24|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
                      24|128,1, 1, 0,
     0,
    26,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 8, 22|128,1,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
                      22|128,1, 1, 0,
     8, 24|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
                      24|128,1, 1, 0,
     0,
    0,
   0,
  52,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 9, 4|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFDIV_S),
                    4|128,1, 2, 0, 1,
   9, 22|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFDIV_D),
                    22|128,1, 2, 0, 1,
   9, 8|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFDIV_S),
                    8|128,1, 2, 0, 1,
   9, 24|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFDIV_D),
                    24|128,1, 2, 0, 1,
   0,
  0,
 109|128,4, TARGET_VAL(ISD::FMA),
  OPC_Scope, 41,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckPredicate, 39,
   OPC_SwitchType , 10, MVT::f32,
    OPC_CheckPatternPredicate, 19,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
                    MVT::f32, 3, 0, 1, 2,
   10, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
                    MVT::f64, 3, 0, 1, 2,
   0,
  40,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckPredicate, 39,
   OPC_SwitchType , 10, MVT::f32,
    OPC_CheckPatternPredicate, 19,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
                    MVT::f32, 3, 1, 0, 2,
   10, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
                    MVT::f64, 3, 1, 0, 2,
   0,
  36,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPredicate, 39,
   OPC_SwitchType , 10, MVT::f32,
    OPC_CheckPatternPredicate, 19,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
                    MVT::f32, 3, 0, 1, 2,
   10, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
                    MVT::f64, 3, 0, 1, 2,
   0,
  104,
   OPC_RecordChild0,
   OPC_Scope, 35,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate, 39,
    OPC_SwitchType , 10, MVT::f32,
     OPC_CheckPatternPredicate, 19,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
                     MVT::f32, 3, 1, 0, 2,
    10, MVT::f64,
     OPC_CheckPatternPredicate, 17,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
                     MVT::f64, 3, 1, 0, 2,
    0,
   64,
    OPC_RecordChild1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 10, MVT::f32,
      OPC_CheckPatternPredicate, 19,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMSUB_S),
                      MVT::f32, 3, 0, 1, 2,
     10, MVT::f64,
      OPC_CheckPatternPredicate, 17,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMSUB_D),
                      MVT::f64, 3, 0, 1, 2,
     0,
    27,
     OPC_RecordChild2,
     OPC_SwitchType , 10, MVT::f32,
      OPC_CheckPatternPredicate, 19,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMADD_S),
                      MVT::f32, 3, 0, 1, 2,
     10, MVT::f64,
      OPC_CheckPatternPredicate, 17,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMADD_D),
                      MVT::f64, 3, 0, 1, 2,
     0,
    0,
   0,
  69,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckPredicate, 39,
   OPC_SwitchType , 10, 4|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
                    4|128,1, 3, 0, 1, 2,
   10, 22|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
                    22|128,1, 3, 0, 1, 2,
   10, 8|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
                    8|128,1, 3, 0, 1, 2,
   10, 24|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
                    24|128,1, 3, 0, 1, 2,
   0,
  68,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckPredicate, 39,
   OPC_SwitchType , 10, 4|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
                    4|128,1, 3, 1, 0, 2,
   10, 22|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
                    22|128,1, 3, 1, 0, 2,
   10, 8|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
                    8|128,1, 3, 1, 0, 2,
   10, 24|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
                    24|128,1, 3, 1, 0, 2,
   0,
  64,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPredicate, 39,
   OPC_SwitchType , 10, 4|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
                    4|128,1, 3, 0, 1, 2,
   10, 22|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
                    22|128,1, 3, 0, 1, 2,
   10, 8|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
                    8|128,1, 3, 0, 1, 2,
   10, 24|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
                    24|128,1, 3, 0, 1, 2,
   0,
  60|128,1,
   OPC_RecordChild0,
   OPC_Scope, 63,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate, 39,
    OPC_SwitchType , 10, 4|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
                     4|128,1, 3, 1, 0, 2,
    10, 22|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
                     22|128,1, 3, 1, 0, 2,
    10, 8|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
                     8|128,1, 3, 1, 0, 2,
    10, 24|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
                     24|128,1, 3, 1, 0, 2,
    0,
   120,
    OPC_RecordChild1,
    OPC_Scope, 60,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 10, 4|128,1,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_S),
                      4|128,1, 3, 0, 1, 2,
     10, 22|128,1,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_D),
                      22|128,1, 3, 0, 1, 2,
     10, 8|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_S),
                      8|128,1, 3, 0, 1, 2,
     10, 24|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_D),
                      24|128,1, 3, 0, 1, 2,
     0,
    55,
     OPC_RecordChild2,
     OPC_SwitchType , 10, 4|128,1,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMADD_S),
                      4|128,1, 3, 0, 1, 2,
     10, 22|128,1,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMADD_D),
                      22|128,1, 3, 0, 1, 2,
     10, 8|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMADD_S),
                      8|128,1, 3, 0, 1, 2,
     10, 24|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMADD_D),
                      24|128,1, 3, 0, 1, 2,
     0,
    0,
   0,
  0,
 90|128,2, TARGET_VAL(ISD::FNEG),
  OPC_Scope, 71,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMA),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 33,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::f32,
     OPC_CheckPatternPredicate, 19,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
                     MVT::f32, 3, 0, 1, 2,
    10, MVT::f64,
     OPC_CheckPatternPredicate, 17,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
                     MVT::f64, 3, 0, 1, 2,
    0,
   28,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::f32,
     OPC_CheckPatternPredicate, 19,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
                     MVT::f32, 3, 0, 1, 2,
    10, MVT::f64,
     OPC_CheckPatternPredicate, 17,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
                     MVT::f64, 3, 0, 1, 2,
    0,
   0,
  23,
   OPC_RecordChild0,
   OPC_SwitchType , 8, MVT::f32,
    OPC_CheckPatternPredicate, 19,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_S),
                    MVT::f32, 1, 0,
   8, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
                    MVT::f64, 1, 0,
   0,
  127,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMA),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 61,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 10, 4|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
                     4|128,1, 3, 0, 1, 2,
    10, 22|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
                     22|128,1, 3, 0, 1, 2,
    10, 8|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
                     8|128,1, 3, 0, 1, 2,
    10, 24|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
                     24|128,1, 3, 0, 1, 2,
    0,
   56,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_SwitchType , 10, 4|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
                     4|128,1, 3, 0, 1, 2,
    10, 22|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
                     22|128,1, 3, 0, 1, 2,
    10, 8|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
                     8|128,1, 3, 0, 1, 2,
    10, 24|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
                     24|128,1, 3, 0, 1, 2,
    0,
   0,
  119,
   OPC_RecordChild0,
   OPC_SwitchType , 26, 4|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI64, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
                     4|128,1, 2, 0, 1,
    11,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
                     4|128,1, 2, 0, 1,
    0,
   26, 22|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI64, 63,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
                     22|128,1, 2, 0, 1,
    11,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 63,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
                     22|128,1, 2, 0, 1,
    0,
   26, 8|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
                     8|128,1, 2, 0, 1,
    11,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
                     8|128,1, 2, 0, 1,
    0,
   26, 24|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 63,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
                     24|128,1, 2, 0, 1,
    11,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 63,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
                     24|128,1, 2, 0, 1,
    0,
   0,
  0,
 71|128,2, TARGET_VAL(ISD::SINT_TO_FP),
  OPC_RecordChild0,
  OPC_Scope, 75,
   OPC_CheckChild0TypeI64,
   OPC_SwitchType , 35, MVT::f32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 30,
     OPC_CheckComplexPat, /*CP*/14, /*#*/0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
                     MVT::f32, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
                     MVT::f32, 1, 2,
    14,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
                     MVT::f64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_L),
                     MVT::f32, 1, 1,
    0,
   33, MVT::f64,
    OPC_CheckPatternPredicate, 23,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/14, /*#*/0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
                     MVT::f32, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_W),
                     MVT::f64, 1, 2,
    12,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
                     MVT::f64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
                     MVT::f64, 1, 1,
    0,
   0,
  71,
   OPC_CheckChild0TypeI32,
   OPC_SwitchType , 32, MVT::f32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
                     MVT::f32, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
                     MVT::f32, 1, 1,
    14,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
                     MVT::f64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_L),
                     MVT::f32, 1, 1,
    0,
   32, MVT::f64,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
                     MVT::f64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
                     MVT::f64, 1, 1,
    14,
     OPC_CheckPatternPredicate, 29,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
                     MVT::f32, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_W),
                     MVT::f64, 1, 1,
    0,
   0,
  13,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_W),
                   4|128,1, 1, 0,
  11,
   OPC_CheckType, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_L),
                   22|128,1, 1, 0,
  13,
   OPC_CheckType, 8|128,1,
   OPC_CheckChild0Type, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_W),
                   8|128,1, 1, 0,
  45,
   OPC_CheckType, 24|128,1,
   OPC_Scope, 10,
    OPC_CheckChild0Type, MVT::v4i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
                    24|128,1, 1, 0,
   28,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v32i8, 3, 1, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
                    MVT::v32i8, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
                    24|128,1, 1, 4,
   0,
  89,
   OPC_CheckType, 4|128,1,
   OPC_CheckChild0Type, MVT::v4i64,
   OPC_Scope, 40,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
                    MVT::v32i8, 1, 0,
    OPC_EmitIntegerI64, 110|128,1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                    MVT::v32i8, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
                    MVT::v32i8, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
                    MVT::v32i8, 2, 3, 4,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    4|128,1, 2, 5, 6,
   40,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
                    MVT::v32i8, 1, 0,
    OPC_EmitIntegerI32, 110|128,1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                    MVT::v32i8, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
                    MVT::v32i8, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
                    MVT::v32i8, 2, 3, 4,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    4|128,1, 2, 5, 6,
   0,
  0,
 67|128,1, TARGET_VAL(ISD::UINT_TO_FP),
  OPC_RecordChild0,
  OPC_SwitchType , 18, MVT::f32,
   OPC_CheckChild0TypeI64,
   OPC_CheckPatternPredicate, 30,
   OPC_CheckComplexPat, /*CP*/14, /*#*/0,
   OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
                   MVT::f32, 1, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
                   MVT::f32, 1, 2,
  100, 4|128,1,
   OPC_Scope, 10,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_WU),
                    4|128,1, 1, 0,
   86,
    OPC_CheckChild0Type, MVT::v4i64,
    OPC_Scope, 40,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
                     MVT::v32i8, 1, 0,
     OPC_EmitIntegerI64, 110|128,1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
                     MVT::v32i8, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
                     MVT::v32i8, 2, 3, 4,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     4|128,1, 2, 5, 6,
    40,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
                     MVT::v32i8, 1, 0,
     OPC_EmitIntegerI32, 110|128,1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
                     MVT::v32i8, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
                     MVT::v32i8, 2, 3, 4,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     4|128,1, 2, 5, 6,
    0,
   0,
  8, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_LU),
                   22|128,1, 1, 0,
  10, 8|128,1,
   OPC_CheckChild0Type, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_WU),
                   8|128,1, 1, 0,
  42, 24|128,1,
   OPC_Scope, 10,
    OPC_CheckChild0Type, MVT::v4i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
                    24|128,1, 1, 0,
   28,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v32i8, 3, 1, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
                    MVT::v32i8, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
                    24|128,1, 1, 4,
   0,
  0,
 22|128,4, TARGET_VAL(ISD::ConstantFP),
  OPC_Scope, 56,
   OPC_CheckPredicate, 63,
   OPC_SwitchType , 24, MVT::f32,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitRegisterI64, LoongArch::R0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
                     MVT::f32, 1, 0,
    10,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitRegisterI32, LoongArch::R0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
                     MVT::f32, 1, 0,
    0,
   24, MVT::f64,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitRegisterI64, LoongArch::R0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
                     MVT::f64, 1, 0,
    10,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitRegisterI32, LoongArch::R0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
                     MVT::f64, 1, 0,
    0,
   0,
  80,
   OPC_CheckPredicate, 64,
   OPC_SwitchType , 36, MVT::f32,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitRegisterI64, LoongArch::R0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
                     MVT::f32, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_S),
                     MVT::f32, 1, 1,
    16,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitRegisterI32, LoongArch::R0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
                     MVT::f32, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_S),
                     MVT::f32, 1, 1,
    0,
   36, MVT::f64,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitRegisterI64, LoongArch::R0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
                     MVT::f64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
                     MVT::f64, 1, 1,
    16,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitRegisterI32, LoongArch::R0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
                     MVT::f64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
                     MVT::f64, 1, 1,
    0,
   0,
  46,
   OPC_CheckPredicate, 63,
   OPC_CheckType, MVT::f64,
   OPC_Scope, 19,
    OPC_CheckPatternPredicate, 32,
    OPC_EmitRegisterI64, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
                    MVT::f64, 1, 0,
    OPC_EmitRegisterI64, LoongArch::R0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
                    MVT::f64, 2, 1, 2,
   19,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitRegisterI32, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
                    MVT::f64, 1, 0,
    OPC_EmitRegisterI32, LoongArch::R0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
                    MVT::f64, 2, 1, 2,
   0,
  99,
   OPC_RecordNode,
   OPC_SwitchType , 46, MVT::f32,
    OPC_CheckPredicate, 68,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget0,
     OPC_EmitNodeXForm, 13, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::VLDI),
                     MVT::v16i8, 1, 2,
     OPC_EmitIntegerI32, LoongArch::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 3, 4,
    20,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget0,
     OPC_EmitNodeXForm, 13, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::VLDI),
                     MVT::v16i8, 1, 2,
     OPC_EmitIntegerI32, LoongArch::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 3, 4,
    0,
   46, MVT::f64,
    OPC_CheckPredicate, 69,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget0,
     OPC_EmitNodeXForm, 14, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::VLDI),
                     MVT::v16i8, 1, 2,
     OPC_EmitIntegerI32, LoongArch::sub_64,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 3, 4,
    20,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget0,
     OPC_EmitNodeXForm, 14, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::VLDI),
                     MVT::v16i8, 1, 2,
     OPC_EmitIntegerI32, LoongArch::sub_64,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 3, 4,
    0,
   0,
  116,
   OPC_CheckPredicate, 55,
   OPC_SwitchType , 54, MVT::f32,
    OPC_Scope, 25,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitRegisterI64, LoongArch::R0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
                     MVT::i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
                     MVT::f32, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
                     MVT::f32, 1, 3,
    25,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitRegisterI32, LoongArch::R0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
                     MVT::i32, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
                     MVT::f32, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
                     MVT::f32, 1, 3,
    0,
   54, MVT::f64,
    OPC_Scope, 25,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitRegisterI64, LoongArch::R0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
                     MVT::i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
                     MVT::f64, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
                     MVT::f64, 1, 3,
    25,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitRegisterI32, LoongArch::R0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
                     MVT::i32, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
                     MVT::f64, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
                     MVT::f64, 1, 3,
    0,
   0,
  58,
   OPC_CheckPredicate, 64,
   OPC_CheckType, MVT::f64,
   OPC_Scope, 25,
    OPC_CheckPatternPredicate, 32,
    OPC_EmitRegisterI64, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
                    MVT::f64, 1, 0,
    OPC_EmitRegisterI64, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
                    MVT::f64, 2, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
                    MVT::f64, 1, 3,
   25,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitRegisterI32, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
                    MVT::f64, 1, 0,
    OPC_EmitRegisterI32, LoongArch::R0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
                    MVT::f64, 2, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
                    MVT::f64, 1, 3,
   0,
  70,
   OPC_CheckPredicate, 55,
   OPC_CheckType, MVT::f64,
   OPC_Scope, 31,
    OPC_CheckPatternPredicate, 32,
    OPC_EmitRegisterI64, LoongArch::R0,
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
                    MVT::i64, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
                    MVT::f32, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::FFINT_S_W),
                    MVT::f32, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_D_S),
                    MVT::f64, 1, 4,
   31,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitRegisterI32, LoongArch::R0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
                    MVT::i32, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
                    MVT::f32, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::FFINT_S_W),
                    MVT::f32, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_D_S),
                    MVT::f64, 1, 4,
   0,
  0,
 74, TARGET_VAL(ISD::FADD),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f32,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FADD_S),
                   MVT::f32, 2, 0, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FADD_D),
                   MVT::f64, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFADD_S),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFADD_D),
                   22|128,1, 2, 0, 1,
  9, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFADD_S),
                   8|128,1, 2, 0, 1,
  9, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFADD_D),
                   24|128,1, 2, 0, 1,
  0,
 74, TARGET_VAL(ISD::FSUB),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f32,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSUB_S),
                   MVT::f32, 2, 0, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSUB_D),
                   MVT::f64, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSUB_S),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSUB_D),
                   22|128,1, 2, 0, 1,
  9, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSUB_S),
                   8|128,1, 2, 0, 1,
  9, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSUB_D),
                   24|128,1, 2, 0, 1,
  0,
 74, TARGET_VAL(ISD::FMUL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f32,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMUL_S),
                   MVT::f32, 2, 0, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMUL_D),
                   MVT::f64, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMUL_S),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMUL_D),
                   22|128,1, 2, 0, 1,
  9, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMUL_S),
                   8|128,1, 2, 0, 1,
  9, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMUL_D),
                   24|128,1, 2, 0, 1,
  0,
 70, TARGET_VAL(ISD::FCOPYSIGN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 32,
   OPC_CheckChild1Type, MVT::f32,
   OPC_SwitchType , 9, MVT::f32,
    OPC_CheckPatternPredicate, 19,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_S),
                    MVT::f32, 2, 0, 1,
   15, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::FCVT_D_S),
                    MVT::f64, 1, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_D),
                    MVT::f64, 2, 0, 2,
   0,
  32,
   OPC_CheckChild1Type, MVT::f64,
   OPC_SwitchType , 9, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_D),
                    MVT::f64, 2, 0, 1,
   15, MVT::f32,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::FCVT_S_D),
                    MVT::f32, 1, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_S),
                    MVT::f32, 2, 0, 2,
   0,
  0,
 26, TARGET_VAL(ISD::FMAXNUM_IEEE),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f32,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_S),
                   MVT::f32, 2, 0, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_D),
                   MVT::f64, 2, 0, 1,
  0,
 74, TARGET_VAL(ISD::FMAXNUM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f32,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_S),
                   MVT::f32, 2, 0, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_D),
                   MVT::f64, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_S),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_D),
                   22|128,1, 2, 0, 1,
  9, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_S),
                   8|128,1, 2, 0, 1,
  9, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_D),
                   24|128,1, 2, 0, 1,
  0,
 26, TARGET_VAL(ISD::FMINNUM_IEEE),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f32,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_S),
                   MVT::f32, 2, 0, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_D),
                   MVT::f64, 2, 0, 1,
  0,
 74, TARGET_VAL(ISD::FMINNUM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f32,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_S),
                   MVT::f32, 2, 0, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_D),
                   MVT::f64, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_S),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_D),
                   22|128,1, 2, 0, 1,
  9, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_S),
                   8|128,1, 2, 0, 1,
  9, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_D),
                   24|128,1, 2, 0, 1,
  0,
 23, TARGET_VAL(ISD::FABS),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f32,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FABS_S),
                   MVT::f32, 1, 0,
  8, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FABS_D),
                   MVT::f64, 1, 0,
  0,
 67, TARGET_VAL(ISD::FSQRT),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f32,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSQRT_S),
                   MVT::f32, 1, 0,
  8, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSQRT_D),
                   MVT::f64, 1, 0,
  8, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_S),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_D),
                   22|128,1, 1, 0,
  8, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_S),
                   8|128,1, 1, 0,
  8, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_D),
                   24|128,1, 1, 0,
  0,
 25, TARGET_VAL(ISD::FCANONICALIZE),
  OPC_RecordChild0,
  OPC_SwitchType , 9, MVT::f32,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_S),
                   MVT::f32, 2, 0, 0,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_D),
                   MVT::f64, 2, 0, 0,
  0,
 53, TARGET_VAL(LoongArchISD::FTINT),
  OPC_RecordChild0,
  OPC_Scope, 24,
   OPC_CheckChild0Type, MVT::f32,
   OPC_SwitchType , 8, MVT::f32,
    OPC_CheckPatternPredicate, 19,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_W_S),
                    MVT::f32, 1, 0,
   8, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_L_S),
                    MVT::f64, 1, 0,
   0,
  24,
   OPC_CheckChild0Type, MVT::f64,
   OPC_SwitchType , 8, MVT::f32,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_W_D),
                    MVT::f32, 1, 0,
   8, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_L_D),
                    MVT::f64, 1, 0,
   0,
  0,
 75, TARGET_VAL(LoongArchISD::FRECIPE),
  OPC_RecordChild0,
  OPC_SwitchType , 10, MVT::f32,
   OPC_CheckChild0Type, MVT::f32,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIPE_S),
                   MVT::f32, 1, 0,
  10, MVT::f64,
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIPE_D),
                   MVT::f64, 1, 0,
  9, 4|128,1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIPE_S),
                   4|128,1, 1, 0,
  9, 22|128,1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIPE_D),
                   22|128,1, 1, 0,
  9, 8|128,1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIPE_S),
                   8|128,1, 1, 0,
  9, 24|128,1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIPE_D),
                   24|128,1, 1, 0,
  0,
 75, TARGET_VAL(LoongArchISD::FRSQRTE),
  OPC_RecordChild0,
  OPC_SwitchType , 10, MVT::f32,
   OPC_CheckChild0Type, MVT::f32,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRTE_S),
                   MVT::f32, 1, 0,
  10, MVT::f64,
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRTE_D),
                   MVT::f64, 1, 0,
  9, 4|128,1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRTE_S),
                   4|128,1, 1, 0,
  9, 22|128,1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRTE_D),
                   22|128,1, 1, 0,
  9, 8|128,1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRTE_S),
                   8|128,1, 1, 0,
  9, 24|128,1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRTE_D),
                   24|128,1, 1, 0,
  0,
 23, TARGET_VAL(ISD::FRINT),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f32,
   OPC_CheckPatternPredicate, 10,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRINT_S),
                   MVT::f32, 1, 0,
  8, MVT::f64,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRINT_D),
                   MVT::f64, 1, 0,
  0,
 11, TARGET_VAL(ISD::FP_ROUND),
  OPC_RecordChild0,
  OPC_CheckType, MVT::f32,
  OPC_CheckPatternPredicate, 17,
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_S_D),
                  MVT::f32, 1, 0,
 11, TARGET_VAL(ISD::FP_EXTEND),
  OPC_RecordChild0,
  OPC_CheckType, MVT::f64,
  OPC_CheckPatternPredicate, 17,
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_D_S),
                  MVT::f64, 1, 0,
 9, TARGET_VAL(LoongArchISD::MOVGR2FR_W_LA64),
  OPC_RecordChild0,
  OPC_CheckPatternPredicate, 30,
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
                  MVT::f32, 1, 0,
 9, TARGET_VAL(LoongArchISD::MOVGR2FR_W),
  OPC_RecordChild0,
  OPC_CheckPatternPredicate, 31,
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
                  MVT::f32, 1, 0,
 9, TARGET_VAL(LoongArchISD::MOVGR2FR_D),
  OPC_RecordChild0,
  OPC_CheckPatternPredicate, 23,
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
                  MVT::f64, 1, 0,
 17, TARGET_VAL(LoongArchISD::MOVGR2FR_D_LO_HI),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate, 29,
  OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
                  MVT::f64, 1, 0,
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
                  MVT::f64, 2, 2, 1,
 79|128,1, TARGET_VAL(ISD::FCEIL),
  OPC_RecordChild0,
  OPC_SwitchType , 78, MVT::f32,
   OPC_Scope, 37,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 1, 0, 2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                    MVT::v16i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRP_S),
                    MVT::v16i8, 1, 5,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 6, 7,
   37,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                    MVT::v16i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRP_S),
                    MVT::v16i8, 1, 5,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 6, 7,
   0,
  78, MVT::f64,
   OPC_Scope, 37,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 1, 0, 2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                    MVT::v16i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRP_D),
                    MVT::v16i8, 1, 5,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
   37,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                    MVT::v16i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRP_D),
                    MVT::v16i8, 1, 5,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
   0,
  8, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_S),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_D),
                   22|128,1, 1, 0,
  8, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_S),
                   8|128,1, 1, 0,
  8, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_D),
                   24|128,1, 1, 0,
  0,
 79|128,1, TARGET_VAL(ISD::FFLOOR),
  OPC_RecordChild0,
  OPC_SwitchType , 78, MVT::f32,
   OPC_Scope, 37,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 1, 0, 2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                    MVT::v16i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRM_S),
                    MVT::v16i8, 1, 5,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 6, 7,
   37,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                    MVT::v16i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRM_S),
                    MVT::v16i8, 1, 5,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 6, 7,
   0,
  78, MVT::f64,
   OPC_Scope, 37,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 1, 0, 2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                    MVT::v16i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRM_D),
                    MVT::v16i8, 1, 5,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
   37,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                    MVT::v16i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRM_D),
                    MVT::v16i8, 1, 5,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
   0,
  8, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_S),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_D),
                   22|128,1, 1, 0,
  8, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_S),
                   8|128,1, 1, 0,
  8, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_D),
                   24|128,1, 1, 0,
  0,
 79|128,1, TARGET_VAL(ISD::FTRUNC),
  OPC_RecordChild0,
  OPC_SwitchType , 78, MVT::f32,
   OPC_Scope, 37,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 1, 0, 2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                    MVT::v16i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRZ_S),
                    MVT::v16i8, 1, 5,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 6, 7,
   37,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                    MVT::v16i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRZ_S),
                    MVT::v16i8, 1, 5,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 6, 7,
   0,
  78, MVT::f64,
   OPC_Scope, 37,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 1, 0, 2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                    MVT::v16i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRZ_D),
                    MVT::v16i8, 1, 5,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
   37,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                    MVT::v16i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRZ_D),
                    MVT::v16i8, 1, 5,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
   0,
  8, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_S),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_D),
                   22|128,1, 1, 0,
  8, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_S),
                   8|128,1, 1, 0,
  8, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_D),
                   24|128,1, 1, 0,
  0,
 79|128,1, TARGET_VAL(ISD::FROUNDEVEN),
  OPC_RecordChild0,
  OPC_SwitchType , 78, MVT::f32,
   OPC_Scope, 37,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 1, 0, 2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                    MVT::v16i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRNE_S),
                    MVT::v16i8, 1, 5,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 6, 7,
   37,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                    MVT::v16i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRNE_S),
                    MVT::v16i8, 1, 5,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 6, 7,
   0,
  78, MVT::f64,
   OPC_Scope, 37,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 1, 0, 2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                    MVT::v16i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRNE_D),
                    MVT::v16i8, 1, 5,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
   37,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                    MVT::v16i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRNE_D),
                    MVT::v16i8, 1, 5,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
   0,
  8, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_S),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_D),
                   22|128,1, 1, 0,
  8, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_S),
                   8|128,1, 1, 0,
  8, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_D),
                   24|128,1, 1, 0,
  0,
 11, TARGET_VAL(LoongArchISD::BUILD_PAIR_F64),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate, 29,
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BuildPairF64Pseudo),
                  MVT::f64, 2, 0, 1,
 25|128,6|128,2, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
  OPC_Scope, 82|128,28|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 68|128,7,
    OPC_CheckChild0Type, MVT::v8i32,
    OPC_Scope, 110|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_SwitchType , 115, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 4,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 4,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 4,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 5,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 4,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 6,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 32,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 4,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 7,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 48,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      0,
     115, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 4,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 5,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 6,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 32,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 7,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 48,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      0,
     0,
    110|128,1,
     OPC_CheckChild1Integer, 1,
     OPC_SwitchType , 115, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 5,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 4,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 5,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 5,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 17,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 5,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 6,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 33,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 5,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 7,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 49,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      0,
     115, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 5,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 4,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 5,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 5,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 17,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 5,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 6,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 33,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 5,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 7,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 49,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      0,
     0,
    110|128,1,
     OPC_CheckChild1Integer, 2,
     OPC_SwitchType , 115, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 6,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 4,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 6,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 5,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 18,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 6,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 6,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 34,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 6,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 7,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 50,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      0,
     115, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 6,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 4,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 6,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 5,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 18,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 6,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 6,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 34,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 6,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 7,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 50,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      0,
     0,
    110|128,1,
     OPC_CheckChild1Integer, 3,
     OPC_SwitchType , 115, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 7,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 4,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 7,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 5,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 19,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 7,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 6,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 35,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 7,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 7,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 51,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      0,
     115, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 7,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 4,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 7,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 5,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 19,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 7,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 6,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 35,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 7,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 7,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 51,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       MVT::v8i32, 3, 0, 1, 2,
      0,
     0,
    0,
   2|128,2,
    OPC_CheckChild0Type, MVT::v4i64,
    OPC_Scope, 126,
     OPC_CheckChild1Integer, 0,
     OPC_SwitchType , 59, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 2,
       OPC_CheckType, MVT::v4i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                       MVT::v4i64, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 3,
       OPC_CheckType, MVT::v4i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                       MVT::v4i64, 3, 0, 1, 2,
      0,
     59, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 2,
       OPC_CheckType, MVT::v4i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                       MVT::v4i64, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 3,
       OPC_CheckType, MVT::v4i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                       MVT::v4i64, 3, 0, 1, 2,
      0,
     0,
    126,
     OPC_CheckChild1Integer, 1,
     OPC_SwitchType , 59, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 2,
       OPC_CheckType, MVT::v4i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                       MVT::v4i64, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 3,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 3,
       OPC_CheckType, MVT::v4i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 17,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                       MVT::v4i64, 3, 0, 1, 2,
      0,
     59, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 2,
       OPC_CheckType, MVT::v4i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                       MVT::v4i64, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 3,
       OPC_CheckType, MVT::v4i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 17,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                       MVT::v4i64, 3, 0, 1, 2,
      0,
     0,
    0,
   36|128,117,
    OPC_CheckChild0Type, MVT::v32i8,
    OPC_Scope, 40|128,7,
     OPC_CheckChild1Integer, 0,
     OPC_SwitchType , 79|128,3, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 32,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 48,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 64|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 80|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 96|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 112|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 0|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 16|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 32|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 48|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 64|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 80|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 96|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 112|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     79|128,3, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 32,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 48,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 64|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 80|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 96|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 112|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 0|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 16|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 32|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 48|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 64|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 80|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 96|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 16,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 112|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     0,
    40|128,7,
     OPC_CheckChild1Integer, 1,
     OPC_SwitchType , 79|128,3, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 17,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 33,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 49,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 65|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 81|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 97|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 113|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 1|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 17|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 33|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 49|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 65|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 81|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 97|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 113|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     79|128,3, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 17,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 33,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 49,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 65|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 81|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 97|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 113|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 1|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 17|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 33|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 49|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 65|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 81|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 97|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 17,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 113|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     0,
    40|128,7,
     OPC_CheckChild1Integer, 2,
     OPC_SwitchType , 79|128,3, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 18,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 34,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 50,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 66|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 82|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 98|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 114|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 2|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 18|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 34|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 50|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 66|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 82|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 98|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 114|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     79|128,3, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 18,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 34,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 50,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 66|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 82|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 98|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 114|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 2|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 18|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 34|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 50|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 66|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 82|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 98|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 18,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 114|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     0,
    40|128,7,
     OPC_CheckChild1Integer, 3,
     OPC_SwitchType , 79|128,3, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 19,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 35,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 51,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 67|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 83|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 99|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 115|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 3|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 19|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 35|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 51|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 67|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 83|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 99|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 115|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     79|128,3, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 19,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 35,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 51,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 67|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 83|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 99|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 115|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 3|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 19|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 35|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 51|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 67|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 83|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 99|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 115|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     0,
    40|128,7,
     OPC_CheckChild1Integer, 4,
     OPC_SwitchType , 79|128,3, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 20,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 36,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 52,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 68|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 84|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 100|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 116|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 4|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 20|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 36|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 52|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 68|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 84|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 100|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 116|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     79|128,3, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 20,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 36,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 52,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 68|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 84|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 100|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 116|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 4|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 20|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 36|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 52|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 68|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 84|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 100|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 20,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 116|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     0,
    40|128,7,
     OPC_CheckChild1Integer, 5,
     OPC_SwitchType , 79|128,3, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 21,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 37,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 53,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 69|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 85|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 101|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 117|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 5|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 21|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 37|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 53|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 69|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 85|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 101|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 117|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     79|128,3, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 21,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 37,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 53,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 69|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 85|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 101|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 117|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 5|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 21|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 37|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 53|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 69|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 85|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 101|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 21,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 117|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     0,
    40|128,7,
     OPC_CheckChild1Integer, 6,
     OPC_SwitchType , 79|128,3, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 22,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 38,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 54,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 70|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 86|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 102|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 118|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 6|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 22|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 38|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 54|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 70|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 86|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 102|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 118|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     79|128,3, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 22,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 38,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 54,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 70|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 86|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 102|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 118|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 6|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 22|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 38|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 54|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 70|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 86|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 102|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 118|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     0,
    40|128,7,
     OPC_CheckChild1Integer, 7,
     OPC_SwitchType , 79|128,3, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 39,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 55,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 71|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 87|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 103|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 119|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 7|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 23|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 39|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 55|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 71|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 87|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 103|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 119|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     79|128,3, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 39,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 55,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 71|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 87|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 103|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 119|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 7|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 39|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 55|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 71|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 87|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 103|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 23,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 119|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     0,
    40|128,7,
     OPC_CheckChild1Integer, 8,
     OPC_SwitchType , 79|128,3, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 24,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 40,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 56,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 72|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 88|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 104|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 120|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 8|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 24|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 40|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 56|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 72|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 88|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 104|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 120|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     79|128,3, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 24,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 40,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 56,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 72|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 88|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 120|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 8|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 40|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 56|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 72|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 88|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 104|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 24,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 120|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     0,
    40|128,7,
     OPC_CheckChild1Integer, 9,
     OPC_SwitchType , 79|128,3, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 41,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 57,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 73|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 89|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 105|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 121|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 9|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 25|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 41|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 57|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 73|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 89|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 105|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 121|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     79|128,3, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 41,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 57,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 73|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 105|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 121|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 9|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 25|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 41|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 57|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 73|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 89|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 105|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 25,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 121|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     0,
    40|128,7,
     OPC_CheckChild1Integer, 10,
     OPC_SwitchType , 79|128,3, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 26,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 42,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 58,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 74|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 90|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 106|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 122|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 10|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 26|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 42|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 58|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 74|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 90|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 106|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 122|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     79|128,3, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 26,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 42,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 58,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 74|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 90|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 106|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 122|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 10|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 26|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 42|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 58|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 74|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 90|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 106|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 26,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 122|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     0,
    40|128,7,
     OPC_CheckChild1Integer, 11,
     OPC_SwitchType , 79|128,3, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 27,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 43,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 59,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 75|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 91|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 107|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 123|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 11|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 27|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 43|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 59|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 75|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 91|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 107|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 123|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     79|128,3, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 27,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 43,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 59,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 75|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 91|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 107|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 123|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 11|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 27|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 43|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 59|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 75|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 91|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 107|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 27,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 123|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     0,
    40|128,7,
     OPC_CheckChild1Integer, 12,
     OPC_SwitchType , 79|128,3, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 28,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 44,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 60,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 76|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 92|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 108|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 124|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 12|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 28|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 44|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 60|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 76|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 92|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 108|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 124|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     79|128,3, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 28,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 44,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 60,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 76|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 92|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 108|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 124|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 12|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 28|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 44|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 60|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 76|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 92|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 108|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 28,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 124|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     0,
    40|128,7,
     OPC_CheckChild1Integer, 13,
     OPC_SwitchType , 79|128,3, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 13,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 29,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 45,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 61,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 77|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 93|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 109|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 125|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 13|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 29|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 45|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 61|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 77|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 93|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 109|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 125|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     79|128,3, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 13,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 29,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 45,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 61,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 77|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 93|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 109|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 125|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 13|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 29|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 45|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 61|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 77|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 93|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 109|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 29,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 125|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     0,
    40|128,7,
     OPC_CheckChild1Integer, 14,
     OPC_SwitchType , 79|128,3, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 14,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 30,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 46,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 62,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 78|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 94|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 110|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 126|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 14|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 30|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 46|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 62|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 78|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 94|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 110|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 126|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     79|128,3, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 30,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 46,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 62,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 78|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 94|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 110|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 126|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 46|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 62|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 78|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 94|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 110|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 30,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 126|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     0,
    40|128,7,
     OPC_CheckChild1Integer, 15,
     OPC_SwitchType , 79|128,3, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 15,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 31,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 47,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 63,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 79|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 95|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 111|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 127|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 15|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 31|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 47|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 63|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 79|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 95|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 111|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 127|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     79|128,3, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 16,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 15,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 17,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 31,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 18,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 47,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 19,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 63,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 20,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 79|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 21,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 95|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 22,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 111|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 23,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 127|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 15|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 9,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 25,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 31|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 10,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 26,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 47|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 27,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 63|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 12,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 28,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 79|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 29,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 95|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 14,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 30,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 111|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 31,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 31,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 127|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
                       MVT::v32i8, 3, 0, 1, 2,
      0,
     0,
    0,
   84|128,29,
    OPC_CheckChild0Type, MVT::v16i16,
    OPC_Scope, 88|128,3,
     OPC_CheckChild1Integer, 0,
     OPC_SwitchType , 103|128,1, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 8,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 8,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 8,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 9,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 8,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 10,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 32,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 8,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 11,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 48,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 8,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 12,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 64|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 8,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 13,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 80|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 8,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 14,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 96|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 8,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 15,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 112|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      0,
     103|128,1, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 8,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 8,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 8,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 9,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 8,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 10,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 32,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 8,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 11,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 48,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 8,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 12,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 64|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 8,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 13,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 80|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 8,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 14,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 96|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 8,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 15,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 112|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      0,
     0,
    88|128,3,
     OPC_CheckChild1Integer, 1,
     OPC_SwitchType , 103|128,1, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 9,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 8,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 9,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 9,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 17,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 9,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 10,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 33,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 9,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 11,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 49,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 9,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 12,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 65|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 9,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 13,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 81|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 9,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 14,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 97|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 9,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 15,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 113|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      0,
     103|128,1, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 9,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 8,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 9,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 9,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 17,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 9,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 10,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 33,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 9,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 11,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 49,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 9,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 12,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 65|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 9,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 13,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 81|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 9,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 14,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 97|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 9,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 15,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 113|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      0,
     0,
    88|128,3,
     OPC_CheckChild1Integer, 2,
     OPC_SwitchType , 103|128,1, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 10,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 8,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 10,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 9,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 18,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 10,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 10,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 34,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 10,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 11,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 50,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 10,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 12,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 66|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 10,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 13,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 82|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 10,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 14,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 98|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 10,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 15,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 114|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      0,
     103|128,1, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 10,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 8,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 10,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 9,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 18,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 10,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 10,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 34,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 10,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 11,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 50,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 10,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 12,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 66|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 10,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 13,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 82|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 10,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 14,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 98|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 10,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 15,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 114|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      0,
     0,
    88|128,3,
     OPC_CheckChild1Integer, 3,
     OPC_SwitchType , 103|128,1, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 11,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 8,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 11,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 9,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 19,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 11,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 10,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 35,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 11,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 11,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 51,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 11,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 12,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 67|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 11,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 13,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 83|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 11,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 14,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 99|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 11,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 15,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 115|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      0,
     103|128,1, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 11,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 8,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 11,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 9,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 19,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 11,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 10,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 35,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 11,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 11,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 51,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 11,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 12,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 67|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 11,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 13,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 83|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 11,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 14,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 99|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 11,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 15,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 115|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      0,
     0,
    88|128,3,
     OPC_CheckChild1Integer, 4,
     OPC_SwitchType , 103|128,1, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 12,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 8,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 12,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 9,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 20,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 12,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 10,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 36,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 12,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 11,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 52,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 12,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 12,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 68|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 12,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 13,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 84|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 12,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 14,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 100|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 12,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 15,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 116|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      0,
     103|128,1, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 12,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 8,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 12,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 9,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 20,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 12,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 10,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 36,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 12,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 11,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 52,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 12,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 12,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 68|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 12,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 13,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 84|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 12,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 14,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 100|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 12,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 15,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 116|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      0,
     0,
    88|128,3,
     OPC_CheckChild1Integer, 5,
     OPC_SwitchType , 103|128,1, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 13,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 8,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 13,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 9,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 21,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 13,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 10,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 37,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 13,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 11,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 53,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 13,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 12,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 69|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 13,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 13,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 85|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 13,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 14,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 101|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 13,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 15,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 117|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      0,
     103|128,1, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 13,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 8,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 13,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 9,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 21,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 13,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 10,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 37,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 13,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 11,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 53,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 13,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 12,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 69|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 13,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 13,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 85|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 13,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 14,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 101|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 13,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 15,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 117|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      0,
     0,
    88|128,3,
     OPC_CheckChild1Integer, 6,
     OPC_SwitchType , 103|128,1, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 14,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 8,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 14,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 9,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 22,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 14,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 10,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 38,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 14,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 11,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 54,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 14,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 12,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 70|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 14,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 13,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 86|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 14,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 14,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 102|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 14,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 15,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 118|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      0,
     103|128,1, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 14,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 8,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 14,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 9,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 22,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 14,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 10,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 38,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 14,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 11,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 54,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 14,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 12,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 70|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 14,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 13,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 86|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 14,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 14,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 102|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 14,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 15,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 118|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      0,
     0,
    88|128,3,
     OPC_CheckChild1Integer, 7,
     OPC_SwitchType , 103|128,1, MVT::i64,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 15,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 8,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 15,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 9,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 15,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 10,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 39,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 15,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 11,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 55,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 15,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 12,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 71|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 15,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 13,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 87|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 15,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 14,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 103|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 15,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 15,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 119|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      0,
     103|128,1, MVT::i32,
      OPC_MoveParent,
      OPC_Scope, 27,
       OPC_CheckChild2Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 15,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 8,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 15,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 9,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 15,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 10,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 39,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      27,
       OPC_CheckChild2Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 15,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 11,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 55,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 4,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 15,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 12,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 71|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 15,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 13,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 87|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 6,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 15,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 14,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 103|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      28,
       OPC_CheckChild2Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 15,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 15,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 119|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
                       MVT::v16i16, 3, 0, 1, 2,
      0,
     0,
    0,
   0,
  47|128,87,
   OPC_RecordChild0,
   OPC_Scope, 15|128,85,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 20|128,4,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_Scope, 2|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_SwitchType , 61, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 16,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 32,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 48,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       0,
      61, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 16,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 32,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 48,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       0,
      0,
     2|128,1,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 61, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 17,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 33,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 49,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       0,
      61, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 17,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 33,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 49,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       0,
      0,
     2|128,1,
      OPC_CheckChild1Integer, 2,
      OPC_SwitchType , 61, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 2,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 18,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 34,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 50,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       0,
      61, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 2,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 18,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 34,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 50,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       0,
      0,
     2|128,1,
      OPC_CheckChild1Integer, 3,
      OPC_SwitchType , 61, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 19,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 35,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 51,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       0,
      61, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 19,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 35,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 51,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                        MVT::v4i32, 3, 0, 1, 2,
       0,
      0,
     0,
    26|128,1,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_Scope, 74,
      OPC_CheckChild1Integer, 0,
      OPC_SwitchType , 33, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                        MVT::v2i64, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 16,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                        MVT::v2i64, 3, 0, 1, 2,
       0,
      33, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                        MVT::v2i64, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 16,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                        MVT::v2i64, 3, 0, 1, 2,
       0,
      0,
     74,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 33, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                        MVT::v2i64, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 17,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                        MVT::v2i64, 3, 0, 1, 2,
       0,
      33, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                        MVT::v2i64, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 17,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                        MVT::v2i64, 3, 0, 1, 2,
       0,
      0,
     0,
    100|128,61,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 108|128,3,
      OPC_CheckChild1Integer, 0,
      OPC_SwitchType , 113|128,1, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 16,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 32,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 48,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 64|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 80|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 96|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 112|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 0|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 16|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 32|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 48|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 64|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 80|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 96|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 112|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      113|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 16,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 32,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 48,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 64|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 80|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 96|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 112|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 0|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 16|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 32|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 48|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 64|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 80|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 96|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 112|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      0,
     108|128,3,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 113|128,1, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 17,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 33,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 49,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 65|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 81|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 97|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 113|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 1|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 17|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 33|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 49|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 65|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 81|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 97|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 113|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      113|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 17,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 33,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 49,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 65|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 81|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 1|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 17|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 33|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 49|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 65|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 81|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 97|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 113|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      0,
     108|128,3,
      OPC_CheckChild1Integer, 2,
      OPC_SwitchType , 113|128,1, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 2,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 18,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 34,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 50,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 66|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 82|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 98|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 114|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 2|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 18|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 34|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 50|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 66|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 82|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 98|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 114|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      113|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 2,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 18,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 34,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 50,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 66|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 82|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 98|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 114|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 2|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 18|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 34|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 50|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 66|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 82|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 98|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 114|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      0,
     108|128,3,
      OPC_CheckChild1Integer, 3,
      OPC_SwitchType , 113|128,1, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 19,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 35,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 51,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 67|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 83|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 99|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 115|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 3|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 19|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 35|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 51|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 67|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 83|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 99|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 115|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      113|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 19,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 35,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 51,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 67|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 83|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 99|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 115|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 3|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 19|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 35|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 51|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 67|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 83|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 99|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 115|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      0,
     108|128,3,
      OPC_CheckChild1Integer, 4,
      OPC_SwitchType , 113|128,1, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 20,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 36,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 52,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 68|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 84|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 100|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 116|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 4|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 20|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 36|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 52|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 68|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 84|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 100|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 116|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      113|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 20,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 36,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 52,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 68|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 84|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 100|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 116|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 4|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 20|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 36|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 52|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 68|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 84|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 100|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 116|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      0,
     108|128,3,
      OPC_CheckChild1Integer, 5,
      OPC_SwitchType , 113|128,1, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 21,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 37,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 53,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 69|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 85|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 101|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 117|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 5|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 21|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 37|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 53|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 69|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 85|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 101|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 117|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      113|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 21,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 37,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 53,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 69|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 85|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 101|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 117|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 5|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 21|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 37|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 53|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 69|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 85|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 101|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 117|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      0,
     108|128,3,
      OPC_CheckChild1Integer, 6,
      OPC_SwitchType , 113|128,1, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 6,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 22,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 38,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 54,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 70|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 86|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 102|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 118|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 6|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 22|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 38|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 54|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 70|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 86|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 102|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 118|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      113|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 6,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 22,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 38,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 54,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 70|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 86|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 102|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 118|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 6|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 22|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 38|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 54|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 70|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 86|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 102|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 118|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      0,
     108|128,3,
      OPC_CheckChild1Integer, 7,
      OPC_SwitchType , 113|128,1, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 39,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 55,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 71|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 87|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 103|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 119|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 7|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 23|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 39|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 55|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 71|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 87|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 103|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 119|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      113|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 39,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 55,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 71|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 87|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 103|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 119|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 7|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 23|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 39|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 55|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 71|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 87|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 103|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 119|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      0,
     108|128,3,
      OPC_CheckChild1Integer, 8,
      OPC_SwitchType , 113|128,1, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 24,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 40,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 56,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 72|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 88|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 104|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 120|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 8|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 40|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 56|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 72|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 88|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 104|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 120|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      113|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 24,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 40,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 56,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 72|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 88|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 104|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 120|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 8|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 40|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 56|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 72|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 88|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 104|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 120|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      0,
     108|128,3,
      OPC_CheckChild1Integer, 9,
      OPC_SwitchType , 113|128,1, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 25,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 41,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 57,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 73|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 89|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 105|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 121|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 9|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 25|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 41|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 57|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 73|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 89|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 105|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 121|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      113|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 25,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 41,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 57,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 73|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 89|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 105|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 9|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 25|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 41|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 57|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 73|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 89|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 121|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      0,
     108|128,3,
      OPC_CheckChild1Integer, 10,
      OPC_SwitchType , 113|128,1, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 10,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 26,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 42,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 58,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 74|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 90|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 106|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 122|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 10|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 26|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 42|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 58|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 74|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 90|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 106|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 122|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      113|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 10,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 26,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 42,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 58,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 74|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 90|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 106|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 122|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 10|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 42|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 58|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 74|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 90|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 106|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 122|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      0,
     108|128,3,
      OPC_CheckChild1Integer, 11,
      OPC_SwitchType , 113|128,1, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 27,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 43,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 59,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 75|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 91|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 107|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 123|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 11|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 27|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 43|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 59|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 75|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 91|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 107|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 123|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      113|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 27,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 43,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 59,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 75|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 91|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 107|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 123|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 11|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 27|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 43|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 59|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 75|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 91|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 107|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 123|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      0,
     108|128,3,
      OPC_CheckChild1Integer, 12,
      OPC_SwitchType , 113|128,1, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 12,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 28,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 44,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 60,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 76|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 92|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 108|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 124|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 12|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 28|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 44|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 60|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 76|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 92|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 108|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 124|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      113|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 12,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 28,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 44,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 60,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 76|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 92|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 108|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 124|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 12|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 28|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 44|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 60|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 76|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 92|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 108|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 124|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      0,
     108|128,3,
      OPC_CheckChild1Integer, 13,
      OPC_SwitchType , 113|128,1, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 13,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 29,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 45,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 61,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 77|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 93|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 109|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 125|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 13|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 29|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 45|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 61|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 77|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 93|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 109|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 125|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      113|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 13,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 29,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 45,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 61,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 77|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 93|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 109|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 125|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 13|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 29|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 45|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 61|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 77|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 93|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 109|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 125|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      0,
     108|128,3,
      OPC_CheckChild1Integer, 14,
      OPC_SwitchType , 113|128,1, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 14,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 30,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 46,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 62,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 78|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 94|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 110|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 126|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 14|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 46|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 62|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 78|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 94|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 110|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 126|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      113|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 14,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 30,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 46,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 62,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 78|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 94|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 110|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 126|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 14|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 46|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 62|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 78|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 94|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 110|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 126|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      0,
     108|128,3,
      OPC_CheckChild1Integer, 15,
      OPC_SwitchType , 113|128,1, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 15,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 31,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 47,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 63,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 79|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 95|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 111|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 127|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 15|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 31|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 47|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 63|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 79|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 95|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 111|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 127|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      113|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 15,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 31,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 47,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 63,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 79|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 95|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 111|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 127|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 8,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 15|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 9,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 31|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 10,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 47|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 11,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 63|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 12,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 79|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 13,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 95|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 14,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 111|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 15,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 127|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
                        MVT::v16i8, 3, 0, 1, 2,
       0,
      0,
     0,
    100|128,15,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 122|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_SwitchType , 121, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 16,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 32,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 48,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 64|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 80|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 96|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 112|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       0,
      121, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 16,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 32,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 48,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 64|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 80|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 96|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 112|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       0,
      0,
     122|128,1,
      OPC_CheckChild1Integer, 1,
      OPC_SwitchType , 121, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 17,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 33,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 49,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 65|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 81|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 97|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 113|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       0,
      121, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 17,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 33,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 49,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 65|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 81|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       0,
      0,
     122|128,1,
      OPC_CheckChild1Integer, 2,
      OPC_SwitchType , 121, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 2,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 18,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 34,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 50,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 66|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 82|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 98|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 114|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       0,
      121, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 2,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 18,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 34,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 50,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 66|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 82|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 98|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 114|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       0,
      0,
     122|128,1,
      OPC_CheckChild1Integer, 3,
      OPC_SwitchType , 121, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 19,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 35,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 51,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 67|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 83|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 99|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 115|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       0,
      121, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 19,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 35,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 51,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 67|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 83|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 99|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 115|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       0,
      0,
     122|128,1,
      OPC_CheckChild1Integer, 4,
      OPC_SwitchType , 121, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 20,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 36,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 52,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 68|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 84|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 100|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 116|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       0,
      121, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 20,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 36,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 52,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 68|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 84|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 100|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 116|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       0,
      0,
     122|128,1,
      OPC_CheckChild1Integer, 5,
      OPC_SwitchType , 121, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 21,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 37,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 53,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 69|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 85|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 101|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 117|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       0,
      121, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 21,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 37,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 53,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 69|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 85|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 101|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 117|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       0,
      0,
     122|128,1,
      OPC_CheckChild1Integer, 6,
      OPC_SwitchType , 121, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 6,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 22,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 38,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 54,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 70|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 86|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 102|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 118|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       0,
      121, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 6,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 22,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 38,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 54,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 70|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 86|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 102|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 118|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       0,
      0,
     122|128,1,
      OPC_CheckChild1Integer, 7,
      OPC_SwitchType , 121, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 39,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 55,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 71|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 87|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 103|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI64, 119|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       0,
      121, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 13,
        OPC_CheckChild2Integer, 0,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 1,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 2,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 39,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       13,
        OPC_CheckChild2Integer, 3,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 55,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 4,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 71|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 5,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 87|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 6,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 103|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       14,
        OPC_CheckChild2Integer, 7,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, 119|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
                        MVT::v8i16, 3, 0, 1, 2,
       0,
      0,
     0,
    3|128,1,
     OPC_CheckChild0Type, MVT::v8i32,
     OPC_Scope, 50,
      OPC_CheckChild1Integer, 0,
      OPC_SwitchType , 21, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
                       MVT::v8i32, 3, 0, 1, 3,
      21, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
                       MVT::v8i32, 3, 0, 1, 3,
      0,
     75,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 19,
      OPC_SwitchType , 31, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 19,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE_W),
                       MVT::v32i8, 2, 1, 4,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
                       MVT::v8i32, 3, 0, 5, 6,
      31, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 19,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE_W),
                       MVT::v32i8, 2, 1, 4,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
                       MVT::v8i32, 3, 0, 5, 6,
      0,
     0,
    3|128,1,
     OPC_CheckChild0Type, MVT::v4i64,
     OPC_Scope, 50,
      OPC_CheckChild1Integer, 0,
      OPC_SwitchType , 21, MVT::i64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 14,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
                       MVT::v4i64, 3, 0, 1, 3,
      21, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 14,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
                       MVT::v4i64, 3, 0, 1, 3,
      0,
     75,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 14,
      OPC_SwitchType , 31, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 14,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE_D),
                       MVT::v32i8, 2, 1, 4,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
                       MVT::v4i64, 3, 0, 5, 6,
      31, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 14,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE_D),
                       MVT::v32i8, 2, 1, 4,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
                       MVT::v4i64, 3, 0, 5, 6,
      0,
     0,
    0,
   25|128,2,
    OPC_RecordChild1,
    OPC_Scope, 9|128,1,
     OPC_CheckChild1TypeI64,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_Scope, 15,
      OPC_CheckPredicate, 27,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_B),
                      MVT::v16i8, 3, 0, 1, 3,
     15,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_H),
                      MVT::v8i16, 3, 0, 1, 3,
     15,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
                      MVT::v4i32, 3, 0, 1, 3,
     15,
      OPC_CheckPredicate, 33,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
                      MVT::v2i64, 3, 0, 1, 3,
     15,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
                      MVT::v8i32, 3, 0, 1, 3,
     15,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
                      MVT::v4i64, 3, 0, 1, 3,
     15,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_B),
                      MVT::v32i8, 3, 0, 1, 3,
     15,
      OPC_CheckPredicate, 27,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_H),
                      MVT::v16i16, 3, 0, 1, 3,
     0,
    9|128,1,
     OPC_CheckChild1TypeI32,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI32,
     OPC_Scope, 15,
      OPC_CheckPredicate, 27,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_B),
                      MVT::v16i8, 3, 0, 1, 3,
     15,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_H),
                      MVT::v8i16, 3, 0, 1, 3,
     15,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
                      MVT::v4i32, 3, 0, 1, 3,
     15,
      OPC_CheckPredicate, 33,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
                      MVT::v2i64, 3, 0, 1, 3,
     15,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
                      MVT::v8i32, 3, 0, 1, 3,
     15,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
                      MVT::v4i64, 3, 0, 1, 3,
     15,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_B),
                      MVT::v32i8, 3, 0, 1, 3,
     15,
      OPC_CheckPredicate, 27,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_H),
                      MVT::v16i16, 3, 0, 1, 3,
     0,
    0,
   0,
  112|128,7,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_SwitchType , 17|128,6, MVT::f32,
    OPC_CheckChild0Type, 8|128,1,
    OPC_Scope, 65|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_MoveParent,
     OPC_Scope, 46,
      OPC_CheckChild2Integer, 0,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 4,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 4,
      OPC_CheckType, 8|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      0,
     46,
      OPC_CheckChild2Integer, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 4,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 5,
      OPC_CheckType, 8|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      0,
     46,
      OPC_CheckChild2Integer, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 4,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 6,
      OPC_CheckType, 8|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 32,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 32,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      0,
     46,
      OPC_CheckChild2Integer, 3,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 4,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 7,
      OPC_CheckType, 8|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 48,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 48,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      0,
     0,
    65|128,1,
     OPC_CheckChild1Integer, 1,
     OPC_MoveParent,
     OPC_Scope, 46,
      OPC_CheckChild2Integer, 0,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 5,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 4,
      OPC_CheckType, 8|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      0,
     46,
      OPC_CheckChild2Integer, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 5,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 5,
      OPC_CheckType, 8|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 17,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 17,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      0,
     46,
      OPC_CheckChild2Integer, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 5,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 6,
      OPC_CheckType, 8|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 33,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 33,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      0,
     46,
      OPC_CheckChild2Integer, 3,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 5,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 7,
      OPC_CheckType, 8|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 49,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 49,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      0,
     0,
    65|128,1,
     OPC_CheckChild1Integer, 2,
     OPC_MoveParent,
     OPC_Scope, 46,
      OPC_CheckChild2Integer, 0,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 6,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 4,
      OPC_CheckType, 8|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      0,
     46,
      OPC_CheckChild2Integer, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 6,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 5,
      OPC_CheckType, 8|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 18,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 18,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      0,
     46,
      OPC_CheckChild2Integer, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 6,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 6,
      OPC_CheckType, 8|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 34,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 34,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      0,
     46,
      OPC_CheckChild2Integer, 3,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 6,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 7,
      OPC_CheckType, 8|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 50,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 50,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      0,
     0,
    65|128,1,
     OPC_CheckChild1Integer, 3,
     OPC_MoveParent,
     OPC_Scope, 46,
      OPC_CheckChild2Integer, 0,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 7,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 4,
      OPC_CheckType, 8|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      0,
     46,
      OPC_CheckChild2Integer, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 7,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 5,
      OPC_CheckType, 8|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 19,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 19,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      0,
     46,
      OPC_CheckChild2Integer, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 7,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 6,
      OPC_CheckType, 8|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 35,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 35,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      0,
     46,
      OPC_CheckChild2Integer, 3,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 7,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 7,
      OPC_CheckType, 8|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 51,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 51,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
                       8|128,1, 3, 0, 1, 2,
      0,
     0,
    0,
   77|128,1, MVT::f64,
    OPC_CheckChild0Type, 24|128,1,
    OPC_Scope, 99,
     OPC_CheckChild1Integer, 0,
     OPC_MoveParent,
     OPC_Scope, 46,
      OPC_CheckChild2Integer, 0,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 2,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 2,
      OPC_CheckType, 24|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                       24|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                       24|128,1, 3, 0, 1, 2,
      0,
     46,
      OPC_CheckChild2Integer, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 2,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 3,
      OPC_CheckType, 24|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                       24|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                       24|128,1, 3, 0, 1, 2,
      0,
     0,
    99,
     OPC_CheckChild1Integer, 1,
     OPC_MoveParent,
     OPC_Scope, 46,
      OPC_CheckChild2Integer, 0,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 3,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 2,
      OPC_CheckType, 24|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                       24|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                       24|128,1, 3, 0, 1, 2,
      0,
     46,
      OPC_CheckChild2Integer, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 3,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 3,
      OPC_CheckType, 24|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 17,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                       24|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 17,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
                       24|128,1, 3, 0, 1, 2,
      0,
     0,
    0,
   0,
  29|128,10,
   OPC_RecordChild0,
   OPC_Scope, 35|128,6,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 57|128,5, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_SwitchType , 29|128,4, MVT::f32,
      OPC_CheckChild0Type, 4|128,1,
      OPC_Scope, 4|128,1,
       OPC_CheckChild1Integer, 0,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_Scope, 30,
        OPC_CheckChild2Integer, 0,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 0,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 0,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        0,
       30,
        OPC_CheckChild2Integer, 1,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 16,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 16,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        0,
       30,
        OPC_CheckChild2Integer, 2,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 32,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 32,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        0,
       30,
        OPC_CheckChild2Integer, 3,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 48,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 48,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        0,
       0,
      4|128,1,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_Scope, 30,
        OPC_CheckChild2Integer, 0,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 1,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 1,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        0,
       30,
        OPC_CheckChild2Integer, 1,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 17,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 17,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        0,
       30,
        OPC_CheckChild2Integer, 2,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 33,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 33,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        0,
       30,
        OPC_CheckChild2Integer, 3,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 49,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 49,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        0,
       0,
      4|128,1,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_Scope, 30,
        OPC_CheckChild2Integer, 0,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 2,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 2,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        0,
       30,
        OPC_CheckChild2Integer, 1,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 18,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 18,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        0,
       30,
        OPC_CheckChild2Integer, 2,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 34,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 34,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        0,
       30,
        OPC_CheckChild2Integer, 3,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 50,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 50,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        0,
       0,
      4|128,1,
       OPC_CheckChild1Integer, 3,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_Scope, 30,
        OPC_CheckChild2Integer, 0,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        0,
       30,
        OPC_CheckChild2Integer, 1,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 19,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 19,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        0,
       30,
        OPC_CheckChild2Integer, 2,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 35,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 35,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        0,
       30,
        OPC_CheckChild2Integer, 3,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 51,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 51,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                         4|128,1, 3, 0, 1, 2,
        0,
       0,
      0,
     19|128,1, MVT::f64,
      OPC_CheckChild0Type, 22|128,1,
      OPC_Scope, 70,
       OPC_CheckChild1Integer, 0,
       OPC_MoveParent,
       OPC_CheckType, 22|128,1,
       OPC_Scope, 30,
        OPC_CheckChild2Integer, 0,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 0,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                         22|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 0,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                         22|128,1, 3, 0, 1, 2,
        0,
       30,
        OPC_CheckChild2Integer, 1,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 16,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                         22|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 16,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                         22|128,1, 3, 0, 1, 2,
        0,
       0,
      70,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckType, 22|128,1,
       OPC_Scope, 30,
        OPC_CheckChild2Integer, 0,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 1,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                         22|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 1,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                         22|128,1, 3, 0, 1, 2,
        0,
       30,
        OPC_CheckChild2Integer, 1,
        OPC_Scope, 12,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI64, 17,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                         22|128,1, 3, 0, 1, 2,
        12,
         OPC_CheckPatternPredicate4,
         OPC_EmitIntegerI32, 17,
         OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                         22|128,1, 3, 0, 1, 2,
        0,
       0,
      0,
     0,
    45, TARGET_VAL(LoongArchISD::MOVGR2FR_W_LA64),
     OPC_RecordChild0,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_Scope, 17,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
                      4|128,1, 3, 0, 1, 3,
     17,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 8|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
                      8|128,1, 3, 0, 1, 3,
     0,
    48, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_CheckType, MVT::f64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_Scope, 17,
      OPC_CheckPredicate, 33,
      OPC_MoveParent,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
                      22|128,1, 3, 0, 1, 3,
     17,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, 24|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
                      24|128,1, 3, 0, 1, 3,
     0,
    0,
   115|128,3,
    OPC_RecordChild1,
    OPC_Scope, 48|128,2,
     OPC_CheckChild1Type, MVT::f32,
     OPC_Scope, 57,
      OPC_CheckChild2Integer, 0,
      OPC_CheckType, 4|128,1,
      OPC_Scope, 24,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, LoongArch::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 2, 1, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                       4|128,1, 3, 0, 4, 5,
      24,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, LoongArch::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 2, 1, 3,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                       4|128,1, 3, 0, 4, 5,
      0,
     57,
      OPC_CheckChild2Integer, 1,
      OPC_CheckType, 4|128,1,
      OPC_Scope, 24,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, LoongArch::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 2, 1, 3,
       OPC_EmitIntegerI64, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                       4|128,1, 3, 0, 4, 5,
      24,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, LoongArch::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 2, 1, 3,
       OPC_EmitIntegerI32, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                       4|128,1, 3, 0, 4, 5,
      0,
     57,
      OPC_CheckChild2Integer, 2,
      OPC_CheckType, 4|128,1,
      OPC_Scope, 24,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, LoongArch::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 2, 1, 3,
       OPC_EmitIntegerI64, 32,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                       4|128,1, 3, 0, 4, 5,
      24,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, LoongArch::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 2, 1, 3,
       OPC_EmitIntegerI32, 32,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                       4|128,1, 3, 0, 4, 5,
      0,
     57,
      OPC_CheckChild2Integer, 3,
      OPC_CheckType, 4|128,1,
      OPC_Scope, 24,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, LoongArch::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 2, 1, 3,
       OPC_EmitIntegerI64, 48,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                       4|128,1, 3, 0, 4, 5,
      24,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, LoongArch::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 2, 1, 3,
       OPC_EmitIntegerI32, 48,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
                       4|128,1, 3, 0, 4, 5,
      0,
     67,
      OPC_RecordChild2,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 19,
      OPC_SwitchType , 27, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, 8|128,1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, LoongArch::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v32i8, 3, 3, 1, 4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
                       8|128,1, 3, 0, 5, 6,
      27, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, 8|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, LoongArch::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v32i8, 3, 3, 1, 4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
                       8|128,1, 3, 0, 5, 6,
      0,
     0,
    60|128,1,
     OPC_CheckChild1Type, MVT::f64,
     OPC_Scope, 57,
      OPC_CheckChild2Integer, 0,
      OPC_CheckType, 22|128,1,
      OPC_Scope, 24,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, LoongArch::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 2, 1, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                       22|128,1, 3, 0, 4, 5,
      24,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, LoongArch::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 2, 1, 3,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                       22|128,1, 3, 0, 4, 5,
      0,
     57,
      OPC_CheckChild2Integer, 1,
      OPC_CheckType, 22|128,1,
      OPC_Scope, 24,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, LoongArch::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 2, 1, 3,
       OPC_EmitIntegerI64, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                       22|128,1, 3, 0, 4, 5,
      24,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, LoongArch::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 2, 1, 3,
       OPC_EmitIntegerI32, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
                       22|128,1, 3, 0, 4, 5,
      0,
     67,
      OPC_RecordChild2,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 14,
      OPC_SwitchType , 27, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, 24|128,1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, LoongArch::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v32i8, 3, 3, 1, 4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
                       24|128,1, 3, 0, 5, 6,
      27, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, 24|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, LoongArch::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v32i8, 3, 3, 1, 4,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
                       24|128,1, 3, 0, 5, 6,
      0,
     0,
    0,
   0,
  0,
 38|128,4, TARGET_VAL(LoongArchISD::VANDN),
  OPC_Scope, 77|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_CheckPredicate, 13,
   OPC_Scope, 71|128,2,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 27|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
     OPC_Scope, 18,
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
                      MVT::v16i8, 2, 1, 0,
     18,
      OPC_CheckPredicate, 16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
                      MVT::v8i16, 2, 1, 0,
     18,
      OPC_CheckPredicate, 17,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
                      MVT::v4i32, 2, 1, 0,
     16,
      OPC_CheckPredicate, 18,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
                      MVT::v2i64, 2, 1, 0,
     16,
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
                      MVT::v32i8, 2, 1, 0,
     18,
      OPC_CheckPredicate, 16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i16,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
                      MVT::v16i16, 2, 1, 0,
     18,
      OPC_CheckPredicate, 17,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i32,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
                      MVT::v8i32, 2, 1, 0,
     18,
      OPC_CheckPredicate, 18,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i64,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
                      MVT::v4i64, 2, 1, 0,
     0,
    34|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
     OPC_Scope, 19,
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
                      MVT::v16i8, 2, 1, 0,
     19,
      OPC_CheckPredicate, 16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
                      MVT::v8i16, 2, 1, 0,
     19,
      OPC_CheckPredicate, 17,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
                      MVT::v4i32, 2, 1, 0,
     17,
      OPC_CheckPredicate, 18,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
                      MVT::v2i64, 2, 1, 0,
     17,
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
                      MVT::v32i8, 2, 1, 0,
     19,
      OPC_CheckPredicate, 16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i16,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
                      MVT::v16i16, 2, 1, 0,
     19,
      OPC_CheckPredicate, 17,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i32,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
                      MVT::v8i32, 2, 1, 0,
     19,
      OPC_CheckPredicate, 18,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i64,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
                      MVT::v4i64, 2, 1, 0,
     0,
    0,
   119,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_Scope, 14,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
                     MVT::v16i8, 2, 1, 0,
    14,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
                     MVT::v8i16, 2, 1, 0,
    14,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
                     MVT::v4i32, 2, 1, 0,
    24,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 8, MVT::v2i64,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
                      MVT::v2i64, 2, 1, 0,
     8, MVT::v32i8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
                      MVT::v32i8, 2, 1, 0,
     0,
    14,
     OPC_CheckChild1Type, MVT::v16i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
                     MVT::v16i16, 2, 1, 0,
    14,
     OPC_CheckChild1Type, MVT::v8i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
                     MVT::v8i32, 2, 1, 0,
    14,
     OPC_CheckChild1Type, MVT::v4i64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
                     MVT::v4i64, 2, 1, 0,
    0,
   0,
  84,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v16i8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
                    MVT::v2i64, 2, 0, 1,
   8, MVT::v32i8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
                    MVT::v32i8, 2, 0, 1,
   8, MVT::v16i16,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
                    MVT::v16i16, 2, 0, 1,
   8, MVT::v8i32,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
                    MVT::v8i32, 2, 0, 1,
   8, MVT::v4i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
                    MVT::v4i64, 2, 0, 1,
   0,
  0,
 84|128,14, TARGET_VAL(LoongArchISD::VLDREPL),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 75|128,5,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 96|128,2, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 42,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 2, 3, 4,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 2, 3, 4,
     0,
    42,
     OPC_CheckPredicate, 47,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i16, 2, 3, 4,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i16, 2, 3, 4,
     0,
    42,
     OPC_CheckPredicate, 40,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 2, 3, 4,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 2, 3, 4,
     0,
    42,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 2, 3, 4,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 2, 3, 4,
     0,
    42,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i8,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i8, 2, 3, 4,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i8,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i8, 2, 3, 4,
     0,
    42,
     OPC_CheckPredicate, 47,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i16,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i16, 2, 3, 4,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i16,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i16, 2, 3, 4,
     0,
    42,
     OPC_CheckPredicate, 40,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i32,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i32, 2, 3, 4,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i32,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i32, 2, 3, 4,
     0,
    42,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i64,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i64, 2, 3, 4,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i64,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i64, 2, 3, 4,
     0,
    0,
   96|128,2, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 42,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 2, 3, 4,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 2, 3, 4,
     0,
    42,
     OPC_CheckPredicate, 47,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i16, 2, 3, 4,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i16, 2, 3, 4,
     0,
    42,
     OPC_CheckPredicate, 40,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 2, 3, 4,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 2, 3, 4,
     0,
    42,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 2, 3, 4,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 2, 3, 4,
     0,
    42,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i8,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i8, 2, 3, 4,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i8,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i8, 2, 3, 4,
     0,
    42,
     OPC_CheckPredicate, 47,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i16,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i16, 2, 3, 4,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i16,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i16, 2, 3, 4,
     0,
    42,
     OPC_CheckPredicate, 40,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i32,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i32, 2, 3, 4,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i32,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i32, 2, 3, 4,
     0,
    42,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i64,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i64, 2, 3, 4,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i64,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i64, 2, 3, 4,
     0,
    0,
   0,
  99|128,3,
   OPC_RecordChild1,
   OPC_SwitchType , 58, MVT::v16i8,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 2, 2, 3,
    12,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 2, 2, 3,
    0,
   58, MVT::v8i16,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i16, 2, 2, 3,
    12,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i16, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i16, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i16, 2, 2, 3,
    0,
   58, MVT::v4i32,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i32, 2, 2, 3,
    12,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i32, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i32, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i32, 2, 2, 3,
    0,
   58, MVT::v2i64,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i64, 2, 2, 3,
    12,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i64, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i64, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i64, 2, 2, 3,
    0,
   58, MVT::v32i8,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i8, 2, 2, 3,
    12,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i8, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i8, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i8, 2, 2, 3,
    0,
   58, MVT::v16i16,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i16, 2, 2, 3,
    12,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i16, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i16, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i16, 2, 2, 3,
    0,
   58, MVT::v8i32,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i32, 2, 2, 3,
    12,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i32, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i32, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i32, 2, 2, 3,
    0,
   58, MVT::v4i64,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i64, 2, 2, 3,
    12,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i64, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i64, 2, 2, 3,
    14,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i64, 2, 2, 3,
    0,
   0,
  19|128,3,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 68|128,1, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 46,
     OPC_CheckPredicate, 40,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 18, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 2, 3, 4,
     18, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 2, 3, 4,
     0,
    46,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 18, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 2, 3, 4,
     18, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 2, 3, 4,
     0,
    46,
     OPC_CheckPredicate, 40,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 18, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, 8|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                      8|128,1, 2, 3, 4,
     18, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, 8|128,1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                      8|128,1, 2, 3, 4,
     0,
    46,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 18, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, 24|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                      24|128,1, 2, 3, 4,
     18, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, 24|128,1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                      24|128,1, 2, 3, 4,
     0,
    0,
   68|128,1, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 46,
     OPC_CheckPredicate, 40,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 18, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 2, 3, 4,
     18, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 2, 3, 4,
     0,
    46,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 18, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 2, 3, 4,
     18, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 2, 3, 4,
     0,
    46,
     OPC_CheckPredicate, 40,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 18, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, 8|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                      8|128,1, 2, 3, 4,
     18, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, 8|128,1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                      8|128,1, 2, 3, 4,
     0,
    46,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_CheckPredicate3,
     OPC_SwitchType , 18, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, 24|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                      24|128,1, 2, 3, 4,
     18, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, 24|128,1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                      24|128,1, 2, 3, 4,
     0,
    0,
   0,
  7|128,2,
   OPC_RecordChild1,
   OPC_SwitchType , 62, 4|128,1,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                     4|128,1, 2, 2, 3,
    13,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                     4|128,1, 2, 2, 3,
    15,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                     4|128,1, 2, 2, 3,
    15,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                     4|128,1, 2, 2, 3,
    0,
   62, 22|128,1,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                     22|128,1, 2, 2, 3,
    13,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                     22|128,1, 2, 2, 3,
    15,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                     22|128,1, 2, 2, 3,
    15,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                     22|128,1, 2, 2, 3,
    0,
   62, 8|128,1,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                     8|128,1, 2, 2, 3,
    13,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                     8|128,1, 2, 2, 3,
    15,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                     8|128,1, 2, 2, 3,
    15,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
                     8|128,1, 2, 2, 3,
    0,
   62, 24|128,1,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                     24|128,1, 2, 2, 3,
    13,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                     24|128,1, 2, 2, 3,
    15,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                     24|128,1, 2, 2, 3,
    15,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
                     24|128,1, 2, 2, 3,
    0,
   0,
  0,
 47|128,8, TARGET_VAL(ISD::INSERT_SUBVECTOR),
  OPC_Scope, 48|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 86, TARGET_VAL(ISD::FREEZE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2Type, 11|128,2,
    OPC_SwitchType , 16, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i32, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i32, 3, 1, 0, 2,
    16, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i64, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i64, 3, 1, 0, 2,
    16, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i16, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i16, 3, 1, 0, 2,
    16, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v32i8, 3, 1, 0, 2,
    0,
   81, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2Type, 11|128,2,
    OPC_SwitchType , 16, MVT::v8i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i32, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i32, 3, 1, 0, 2,
    16, MVT::v4i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i64, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i64, 3, 1, 0, 2,
    16, MVT::v16i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i16, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i16, 3, 1, 0, 2,
    16, MVT::v32i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v32i8, 3, 1, 0, 2,
    0,
   0,
  117|128,3,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 111|128,1,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2Type, 11|128,2,
    OPC_SwitchType , 56, MVT::v8i32,
     OPC_Scope, 26,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v32i8, 0,
      OPC_EmitIntegerI32, LoongArch::sub_128,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v32i8, 3, 2, 1, 3,
      OPC_EmitIntegerI64, 48,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                      MVT::v8i32, 3, 0, 4, 5,
     26,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v32i8, 0,
      OPC_EmitIntegerI32, LoongArch::sub_128,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v32i8, 3, 2, 1, 3,
      OPC_EmitIntegerI32, 48,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                      MVT::v8i32, 3, 0, 4, 5,
     0,
    56, MVT::v4i64,
     OPC_Scope, 26,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v32i8, 0,
      OPC_EmitIntegerI32, LoongArch::sub_128,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v32i8, 3, 2, 1, 3,
      OPC_EmitIntegerI64, 48,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                      MVT::v4i64, 3, 0, 4, 5,
     26,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v32i8, 0,
      OPC_EmitIntegerI32, LoongArch::sub_128,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v32i8, 3, 2, 1, 3,
      OPC_EmitIntegerI32, 48,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                      MVT::v4i64, 3, 0, 4, 5,
     0,
    56, MVT::v16i16,
     OPC_Scope, 26,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v32i8, 0,
      OPC_EmitIntegerI32, LoongArch::sub_128,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v32i8, 3, 2, 1, 3,
      OPC_EmitIntegerI64, 48,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                      MVT::v16i16, 3, 0, 4, 5,
     26,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v32i8, 0,
      OPC_EmitIntegerI32, LoongArch::sub_128,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v32i8, 3, 2, 1, 3,
      OPC_EmitIntegerI32, 48,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                      MVT::v16i16, 3, 0, 4, 5,
     0,
    56, MVT::v32i8,
     OPC_Scope, 26,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v32i8, 0,
      OPC_EmitIntegerI32, LoongArch::sub_128,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v32i8, 3, 2, 1, 3,
      OPC_EmitIntegerI64, 48,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                      MVT::v32i8, 3, 0, 4, 5,
     26,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v32i8, 0,
      OPC_EmitIntegerI32, LoongArch::sub_128,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v32i8, 3, 2, 1, 3,
      OPC_EmitIntegerI32, 48,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                      MVT::v32i8, 3, 0, 4, 5,
     0,
    0,
   63,
    OPC_CheckChild2Integer, 4,
    OPC_CheckChild2Type, 11|128,2,
    OPC_CheckType, MVT::v8i32,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v32i8, 3, 2, 1, 3,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     MVT::v8i32, 3, 0, 4, 5,
    26,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v32i8, 3, 2, 1, 3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     MVT::v8i32, 3, 0, 4, 5,
    0,
   63,
    OPC_CheckChild2Integer, 2,
    OPC_CheckChild2Type, 11|128,2,
    OPC_CheckType, MVT::v4i64,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v32i8, 3, 2, 1, 3,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     MVT::v4i64, 3, 0, 4, 5,
    26,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v32i8, 3, 2, 1, 3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     MVT::v4i64, 3, 0, 4, 5,
    0,
   63,
    OPC_CheckChild2Integer, 8,
    OPC_CheckChild2Type, 11|128,2,
    OPC_CheckType, MVT::v16i16,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v32i8, 3, 2, 1, 3,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     MVT::v16i16, 3, 0, 4, 5,
    26,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v32i8, 3, 2, 1, 3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     MVT::v16i16, 3, 0, 4, 5,
    0,
   63,
    OPC_CheckChild2Integer, 16,
    OPC_CheckChild2Type, 11|128,2,
    OPC_CheckType, MVT::v32i8,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v32i8, 3, 2, 1, 3,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     MVT::v32i8, 3, 0, 4, 5,
    26,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v32i8, 3, 2, 1, 3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     MVT::v32i8, 3, 0, 4, 5,
    0,
   0,
  116,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 56, TARGET_VAL(ISD::FREEZE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2Type, 11|128,2,
    OPC_SwitchType , 18, 8|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     8|128,1, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     8|128,1, 3, 1, 0, 2,
    18, 24|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     24|128,1, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     24|128,1, 3, 1, 0, 2,
    0,
   51, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2Type, 11|128,2,
    OPC_SwitchType , 18, 8|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     8|128,1, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     8|128,1, 3, 1, 0, 2,
    18, 24|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     24|128,1, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     24|128,1, 3, 1, 0, 2,
    0,
   0,
  13|128,2,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 1|128,1,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2Type, 11|128,2,
    OPC_SwitchType , 58, 8|128,1,
     OPC_Scope, 27,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v32i8, 0,
      OPC_EmitIntegerI32, LoongArch::sub_128,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v32i8, 3, 2, 1, 3,
      OPC_EmitIntegerI64, 48,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                      8|128,1, 3, 0, 4, 5,
     27,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v32i8, 0,
      OPC_EmitIntegerI32, LoongArch::sub_128,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v32i8, 3, 2, 1, 3,
      OPC_EmitIntegerI32, 48,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                      8|128,1, 3, 0, 4, 5,
     0,
    58, 24|128,1,
     OPC_Scope, 27,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v32i8, 0,
      OPC_EmitIntegerI32, LoongArch::sub_128,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v32i8, 3, 2, 1, 3,
      OPC_EmitIntegerI64, 48,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                      24|128,1, 3, 0, 4, 5,
     27,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v32i8, 0,
      OPC_EmitIntegerI32, LoongArch::sub_128,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v32i8, 3, 2, 1, 3,
      OPC_EmitIntegerI32, 48,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                      24|128,1, 3, 0, 4, 5,
     0,
    0,
   66,
    OPC_CheckChild2Integer, 4,
    OPC_CheckChild2Type, 11|128,2,
    OPC_CheckType, 8|128,1,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v32i8, 3, 2, 1, 3,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     8|128,1, 3, 0, 4, 5,
    27,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v32i8, 3, 2, 1, 3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     8|128,1, 3, 0, 4, 5,
    0,
   66,
    OPC_CheckChild2Integer, 2,
    OPC_CheckChild2Type, 11|128,2,
    OPC_CheckType, 24|128,1,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v32i8, 3, 2, 1, 3,
     OPC_EmitIntegerI64, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     24|128,1, 3, 0, 4, 5,
    27,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v32i8, 3, 2, 1, 3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     24|128,1, 3, 0, 4, 5,
    0,
   0,
  0,
 76|128,3, TARGET_VAL(ISD::SMAX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 55, MVT::v16i8,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
                    MVT::v16i8, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
                    MVT::v16i8, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
                    MVT::v16i8, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
                    MVT::v16i8, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_B),
                    MVT::v16i8, 2, 0, 1,
   0,
  55, MVT::v8i16,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
                    MVT::v8i16, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
                    MVT::v8i16, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
                    MVT::v8i16, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
                    MVT::v8i16, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_H),
                    MVT::v8i16, 2, 0, 1,
   0,
  55, MVT::v4i32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
                    MVT::v4i32, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
                    MVT::v4i32, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
                    MVT::v4i32, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
                    MVT::v4i32, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_W),
                    MVT::v4i32, 2, 0, 1,
   0,
  55, MVT::v2i64,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
                    MVT::v2i64, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
                    MVT::v2i64, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
                    MVT::v2i64, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
                    MVT::v2i64, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  55, MVT::v32i8,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
                    MVT::v32i8, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
                    MVT::v32i8, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
                    MVT::v32i8, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
                    MVT::v32i8, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_B),
                    MVT::v32i8, 2, 0, 1,
   0,
  55, MVT::v16i16,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
                    MVT::v16i16, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
                    MVT::v16i16, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
                    MVT::v16i16, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
                    MVT::v16i16, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_H),
                    MVT::v16i16, 2, 0, 1,
   0,
  55, MVT::v8i32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
                    MVT::v8i32, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
                    MVT::v8i32, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
                    MVT::v8i32, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
                    MVT::v8i32, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_W),
                    MVT::v8i32, 2, 0, 1,
   0,
  55, MVT::v4i64,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
                    MVT::v4i64, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
                    MVT::v4i64, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
                    MVT::v4i64, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
                    MVT::v4i64, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_D),
                    MVT::v4i64, 2, 0, 1,
   0,
  0,
 76|128,3, TARGET_VAL(ISD::SMIN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 55, MVT::v16i8,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
                    MVT::v16i8, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
                    MVT::v16i8, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
                    MVT::v16i8, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
                    MVT::v16i8, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_B),
                    MVT::v16i8, 2, 0, 1,
   0,
  55, MVT::v8i16,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
                    MVT::v8i16, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
                    MVT::v8i16, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
                    MVT::v8i16, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
                    MVT::v8i16, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_H),
                    MVT::v8i16, 2, 0, 1,
   0,
  55, MVT::v4i32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
                    MVT::v4i32, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
                    MVT::v4i32, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
                    MVT::v4i32, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
                    MVT::v4i32, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_W),
                    MVT::v4i32, 2, 0, 1,
   0,
  55, MVT::v2i64,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
                    MVT::v2i64, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
                    MVT::v2i64, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
                    MVT::v2i64, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
                    MVT::v2i64, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  55, MVT::v32i8,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
                    MVT::v32i8, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
                    MVT::v32i8, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
                    MVT::v32i8, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
                    MVT::v32i8, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_B),
                    MVT::v32i8, 2, 0, 1,
   0,
  55, MVT::v16i16,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
                    MVT::v16i16, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
                    MVT::v16i16, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
                    MVT::v16i16, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
                    MVT::v16i16, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_H),
                    MVT::v16i16, 2, 0, 1,
   0,
  55, MVT::v8i32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
                    MVT::v8i32, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
                    MVT::v8i32, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
                    MVT::v8i32, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
                    MVT::v8i32, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_W),
                    MVT::v8i32, 2, 0, 1,
   0,
  55, MVT::v4i64,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
                    MVT::v4i64, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
                    MVT::v4i64, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
                    MVT::v4i64, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
                    MVT::v4i64, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_D),
                    MVT::v4i64, 2, 0, 1,
   0,
  0,
 73|128,3, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
  OPC_RecordChild0,
  OPC_Scope, 83,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1Type, 11|128,2,
   OPC_SwitchType , 10, MVT::v4i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i32, 2, 0, 1,
   10, MVT::v2i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i64, 2, 0, 1,
   10, MVT::v8i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i16, 2, 0, 1,
   10, MVT::v16i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i8, 2, 0, 1,
   11, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    4|128,1, 2, 0, 1,
   11, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    22|128,1, 2, 0, 1,
   0,
  122,
   OPC_CheckChild1Integer, 4,
   OPC_CheckChild1Type, 11|128,2,
   OPC_SwitchType , 54, MVT::v4i32,
    OPC_Scope, 25,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     MVT::v32i8, 3, 1, 0, 2,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 3, 4,
    25,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     MVT::v32i8, 3, 1, 0, 2,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 3, 4,
    0,
   56, 4|128,1,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     MVT::v32i8, 3, 1, 0, 2,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     4|128,1, 2, 3, 4,
    26,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     MVT::v32i8, 3, 1, 0, 2,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     4|128,1, 2, 3, 4,
    0,
   0,
  122,
   OPC_CheckChild1Integer, 2,
   OPC_CheckChild1Type, 11|128,2,
   OPC_SwitchType , 54, MVT::v2i64,
    OPC_Scope, 25,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     MVT::v32i8, 3, 1, 0, 2,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i64, 2, 3, 4,
    25,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     MVT::v32i8, 3, 1, 0, 2,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i64, 2, 3, 4,
    0,
   56, 22|128,1,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     MVT::v32i8, 3, 1, 0, 2,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     22|128,1, 2, 3, 4,
    26,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v32i8, 0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                     MVT::v32i8, 3, 1, 0, 2,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     22|128,1, 2, 3, 4,
    0,
   0,
  61,
   OPC_CheckChild1Integer, 8,
   OPC_CheckChild1Type, 11|128,2,
   OPC_CheckType, MVT::v8i16,
   OPC_Scope, 25,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    MVT::v32i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i16, 2, 3, 4,
   25,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    MVT::v32i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i16, 2, 3, 4,
   0,
  61,
   OPC_CheckChild1Integer, 16,
   OPC_CheckChild1Type, 11|128,2,
   OPC_CheckType, MVT::v16i8,
   OPC_Scope, 25,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    MVT::v32i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i8, 2, 3, 4,
   25,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i8, 0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
                    MVT::v32i8, 3, 1, 0, 2,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i8, 2, 3, 4,
   0,
  0,
 76|128,3, TARGET_VAL(ISD::UMAX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 55, MVT::v16i8,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
                    MVT::v16i8, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
                    MVT::v16i8, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
                    MVT::v16i8, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
                    MVT::v16i8, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_BU),
                    MVT::v16i8, 2, 0, 1,
   0,
  55, MVT::v8i16,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
                    MVT::v8i16, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
                    MVT::v8i16, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
                    MVT::v8i16, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
                    MVT::v8i16, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_HU),
                    MVT::v8i16, 2, 0, 1,
   0,
  55, MVT::v4i32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
                    MVT::v4i32, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
                    MVT::v4i32, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
                    MVT::v4i32, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
                    MVT::v4i32, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_WU),
                    MVT::v4i32, 2, 0, 1,
   0,
  55, MVT::v2i64,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
                    MVT::v2i64, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
                    MVT::v2i64, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
                    MVT::v2i64, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
                    MVT::v2i64, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_DU),
                    MVT::v2i64, 2, 0, 1,
   0,
  55, MVT::v32i8,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
                    MVT::v32i8, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
                    MVT::v32i8, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
                    MVT::v32i8, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
                    MVT::v32i8, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_BU),
                    MVT::v32i8, 2, 0, 1,
   0,
  55, MVT::v16i16,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
                    MVT::v16i16, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
                    MVT::v16i16, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
                    MVT::v16i16, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
                    MVT::v16i16, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_HU),
                    MVT::v16i16, 2, 0, 1,
   0,
  55, MVT::v8i32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
                    MVT::v8i32, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
                    MVT::v8i32, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
                    MVT::v8i32, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
                    MVT::v8i32, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_WU),
                    MVT::v8i32, 2, 0, 1,
   0,
  55, MVT::v4i64,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
                    MVT::v4i64, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
                    MVT::v4i64, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
                    MVT::v4i64, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
                    MVT::v4i64, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_DU),
                    MVT::v4i64, 2, 0, 1,
   0,
  0,
 76|128,3, TARGET_VAL(ISD::UMIN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 55, MVT::v16i8,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
                    MVT::v16i8, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
                    MVT::v16i8, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
                    MVT::v16i8, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
                    MVT::v16i8, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_BU),
                    MVT::v16i8, 2, 0, 1,
   0,
  55, MVT::v8i16,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
                    MVT::v8i16, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
                    MVT::v8i16, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
                    MVT::v8i16, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
                    MVT::v8i16, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_HU),
                    MVT::v8i16, 2, 0, 1,
   0,
  55, MVT::v4i32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
                    MVT::v4i32, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
                    MVT::v4i32, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
                    MVT::v4i32, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
                    MVT::v4i32, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_WU),
                    MVT::v4i32, 2, 0, 1,
   0,
  55, MVT::v2i64,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
                    MVT::v2i64, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
                    MVT::v2i64, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
                    MVT::v2i64, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
                    MVT::v2i64, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_DU),
                    MVT::v2i64, 2, 0, 1,
   0,
  55, MVT::v32i8,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
                    MVT::v32i8, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
                    MVT::v32i8, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
                    MVT::v32i8, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
                    MVT::v32i8, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_BU),
                    MVT::v32i8, 2, 0, 1,
   0,
  55, MVT::v16i16,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
                    MVT::v16i16, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
                    MVT::v16i16, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
                    MVT::v16i16, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
                    MVT::v16i16, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_HU),
                    MVT::v16i16, 2, 0, 1,
   0,
  55, MVT::v8i32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
                    MVT::v8i32, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
                    MVT::v8i32, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
                    MVT::v8i32, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
                    MVT::v8i32, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_WU),
                    MVT::v8i32, 2, 0, 1,
   0,
  55, MVT::v4i64,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
                    MVT::v4i64, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
                    MVT::v4i64, 2, 0, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
                    MVT::v4i64, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat1, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
                    MVT::v4i64, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_DU),
                    MVT::v4i64, 2, 0, 1,
   0,
  0,
 4|128,2, TARGET_VAL(ISD::VSELECT),
  OPC_RecordChild0,
  OPC_Scope, 32,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v16i8,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
                    MVT::v16i8, 3, 0, 2, 3,
   11,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
                    MVT::v16i8, 3, 0, 2, 3,
   0,
  30,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v32i8,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
                    MVT::v32i8, 3, 0, 2, 3,
   11,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
                    MVT::v32i8, 3, 0, 2, 3,
   0,
  15,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
                   MVT::v16i8, 3, 2, 1, 0,
  15,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
                   MVT::v8i16, 3, 2, 1, 0,
  15,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
                   MVT::v4i32, 3, 2, 1, 0,
  26,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 9, MVT::v2i64,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
                    MVT::v2i64, 3, 2, 1, 0,
   9, MVT::v32i8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
                    MVT::v32i8, 3, 2, 1, 0,
   0,
  15,
   OPC_CheckChild0Type, MVT::v16i16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
                   MVT::v16i16, 3, 2, 1, 0,
  15,
   OPC_CheckChild0Type, MVT::v8i32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
                   MVT::v8i32, 3, 2, 1, 0,
  15,
   OPC_CheckChild0Type, MVT::v4i64,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
                   MVT::v4i64, 3, 2, 1, 0,
  17,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
                   4|128,1, 3, 2, 1, 0,
  15,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
                   22|128,1, 3, 2, 1, 0,
  17,
   OPC_CheckChild0Type, MVT::v8i32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
                   8|128,1, 3, 2, 1, 0,
  17,
   OPC_CheckChild0Type, MVT::v4i64,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
                   24|128,1, 3, 2, 1, 0,
  0,
 16|128,2, TARGET_VAL(LoongArchISD::VSLLI),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_Scope, 32,
   OPC_CheckPredicate, 19,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_B),
                    MVT::v16i8, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_B),
                    MVT::v16i8, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 27,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_H),
                    MVT::v8i16, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_H),
                    MVT::v8i16, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 25,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_W),
                    MVT::v4i32, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_W),
                    MVT::v4i32, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 34,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_D),
                    MVT::v2i64, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_D),
                    MVT::v2i64, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 19,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v32i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_B),
                    MVT::v32i8, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v32i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_B),
                    MVT::v32i8, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 27,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_H),
                    MVT::v16i16, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_H),
                    MVT::v16i16, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 25,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_W),
                    MVT::v8i32, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_W),
                    MVT::v8i32, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 34,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_D),
                    MVT::v4i64, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_D),
                    MVT::v4i64, 2, 0, 2,
   0,
  0,
 46|128,2, TARGET_VAL(LoongArchISD::VBSLL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 25,
  OPC_SwitchType , 15|128,1, MVT::i64,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
                    MVT::v16i8, 2, 0, 2,
   9, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
                    MVT::v8i16, 2, 0, 2,
   9, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
                    MVT::v4i32, 2, 0, 2,
   9, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
                    MVT::v2i64, 2, 0, 2,
   9, MVT::v32i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
                    MVT::v32i8, 2, 0, 2,
   9, MVT::v16i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
                    MVT::v16i16, 2, 0, 2,
   9, MVT::v8i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
                    MVT::v8i32, 2, 0, 2,
   9, MVT::v4i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
                    MVT::v4i64, 2, 0, 2,
   10, 4|128,1,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
                    4|128,1, 2, 0, 2,
   10, 22|128,1,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
                    22|128,1, 2, 0, 2,
   10, 8|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
                    8|128,1, 2, 0, 2,
   10, 24|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
                    24|128,1, 2, 0, 2,
   0,
  15|128,1, MVT::i32,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v16i8,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
                    MVT::v16i8, 2, 0, 2,
   9, MVT::v8i16,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
                    MVT::v8i16, 2, 0, 2,
   9, MVT::v4i32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
                    MVT::v4i32, 2, 0, 2,
   9, MVT::v2i64,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
                    MVT::v2i64, 2, 0, 2,
   9, MVT::v32i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
                    MVT::v32i8, 2, 0, 2,
   9, MVT::v16i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
                    MVT::v16i16, 2, 0, 2,
   9, MVT::v8i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
                    MVT::v8i32, 2, 0, 2,
   9, MVT::v4i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
                    MVT::v4i64, 2, 0, 2,
   10, 4|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
                    4|128,1, 2, 0, 2,
   10, 22|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
                    22|128,1, 2, 0, 2,
   10, 8|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
                    8|128,1, 2, 0, 2,
   10, 24|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
                    24|128,1, 2, 0, 2,
   0,
  0,
 46|128,2, TARGET_VAL(LoongArchISD::VBSRL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 25,
  OPC_SwitchType , 15|128,1, MVT::i64,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
                    MVT::v16i8, 2, 0, 2,
   9, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
                    MVT::v8i16, 2, 0, 2,
   9, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
                    MVT::v4i32, 2, 0, 2,
   9, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
                    MVT::v2i64, 2, 0, 2,
   9, MVT::v32i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
                    MVT::v32i8, 2, 0, 2,
   9, MVT::v16i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
                    MVT::v16i16, 2, 0, 2,
   9, MVT::v8i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
                    MVT::v8i32, 2, 0, 2,
   9, MVT::v4i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
                    MVT::v4i64, 2, 0, 2,
   10, 4|128,1,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
                    4|128,1, 2, 0, 2,
   10, 22|128,1,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
                    22|128,1, 2, 0, 2,
   10, 8|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
                    8|128,1, 2, 0, 2,
   10, 24|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
                    24|128,1, 2, 0, 2,
   0,
  15|128,1, MVT::i32,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v16i8,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
                    MVT::v16i8, 2, 0, 2,
   9, MVT::v8i16,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
                    MVT::v8i16, 2, 0, 2,
   9, MVT::v4i32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
                    MVT::v4i32, 2, 0, 2,
   9, MVT::v2i64,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
                    MVT::v2i64, 2, 0, 2,
   9, MVT::v32i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
                    MVT::v32i8, 2, 0, 2,
   9, MVT::v16i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
                    MVT::v16i16, 2, 0, 2,
   9, MVT::v8i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
                    MVT::v8i32, 2, 0, 2,
   9, MVT::v4i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
                    MVT::v4i64, 2, 0, 2,
   10, 4|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
                    4|128,1, 2, 0, 2,
   10, 22|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
                    22|128,1, 2, 0, 2,
   10, 8|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
                    8|128,1, 2, 0, 2,
   10, 24|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
                    24|128,1, 2, 0, 2,
   0,
  0,
 16|128,2, TARGET_VAL(LoongArchISD::VSRLI),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_Scope, 32,
   OPC_CheckPredicate, 19,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_B),
                    MVT::v16i8, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_B),
                    MVT::v16i8, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 27,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_H),
                    MVT::v8i16, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_H),
                    MVT::v8i16, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 25,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_W),
                    MVT::v4i32, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_W),
                    MVT::v4i32, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 34,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_D),
                    MVT::v2i64, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_D),
                    MVT::v2i64, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 19,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v32i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_B),
                    MVT::v32i8, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v32i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_B),
                    MVT::v32i8, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 27,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_H),
                    MVT::v16i16, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_H),
                    MVT::v16i16, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 25,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_W),
                    MVT::v8i32, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_W),
                    MVT::v8i32, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 34,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_D),
                    MVT::v4i64, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_D),
                    MVT::v4i64, 2, 0, 2,
   0,
  0,
 76|128,1, TARGET_VAL(LoongArchISD::VSHUF4I),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 56,
  OPC_SwitchType , 95, MVT::i64,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
                    MVT::v16i8, 2, 0, 2,
   9, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_H),
                    MVT::v8i16, 2, 0, 2,
   9, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
                    MVT::v4i32, 2, 0, 2,
   9, MVT::v32i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
                    MVT::v32i8, 2, 0, 2,
   9, MVT::v16i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_H),
                    MVT::v16i16, 2, 0, 2,
   9, MVT::v8i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
                    MVT::v8i32, 2, 0, 2,
   10, 4|128,1,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
                    4|128,1, 2, 0, 2,
   10, 8|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
                    8|128,1, 2, 0, 2,
   0,
  95, MVT::i32,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v16i8,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
                    MVT::v16i8, 2, 0, 2,
   9, MVT::v8i16,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_H),
                    MVT::v8i16, 2, 0, 2,
   9, MVT::v4i32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
                    MVT::v4i32, 2, 0, 2,
   9, MVT::v32i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
                    MVT::v32i8, 2, 0, 2,
   9, MVT::v16i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_H),
                    MVT::v16i16, 2, 0, 2,
   9, MVT::v8i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
                    MVT::v8i32, 2, 0, 2,
   10, 4|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
                    4|128,1, 2, 0, 2,
   10, 8|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
                    8|128,1, 2, 0, 2,
   0,
  0,
 125, TARGET_VAL(LoongArchISD::VSHUF4I_D),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 56,
  OPC_SwitchType , 55, MVT::i64,
   OPC_MoveParent,
   OPC_SwitchType , 10, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
                    MVT::v2i64, 3, 0, 1, 3,
   10, MVT::v4i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
                    MVT::v4i64, 3, 0, 1, 3,
   11, 22|128,1,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
                    22|128,1, 3, 0, 1, 3,
   11, 24|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
                    24|128,1, 3, 0, 1, 3,
   0,
  55, MVT::i32,
   OPC_MoveParent,
   OPC_SwitchType , 10, MVT::v2i64,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
                    MVT::v2i64, 3, 0, 1, 3,
   10, MVT::v4i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
                    MVT::v4i64, 3, 0, 1, 3,
   11, 22|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
                    22|128,1, 3, 0, 1, 3,
   11, 24|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
                    24|128,1, 3, 0, 1, 3,
   0,
  0,
 36|128,3, TARGET_VAL(LoongArchISD::VREPLVEI),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_Scope, 32,
   OPC_CheckPredicate, 27,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_B),
                    MVT::v16i8, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_B),
                    MVT::v16i8, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 19,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_H),
                    MVT::v8i16, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_H),
                    MVT::v8i16, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 14,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                    MVT::v4i32, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                    MVT::v4i32, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 33,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                    MVT::v2i64, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                    MVT::v2i64, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 27,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v32i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_B),
                    MVT::v32i8, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v32i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_B),
                    MVT::v32i8, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 19,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_H),
                    MVT::v16i16, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_H),
                    MVT::v16i16, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 14,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
                    MVT::v8i32, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
                    MVT::v8i32, 2, 0, 2,
   0,
  32,
   OPC_CheckPredicate, 33,
   OPC_SwitchType , 12, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
                    MVT::v4i64, 2, 0, 2,
   12, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
                    MVT::v4i64, 2, 0, 2,
   0,
  36,
   OPC_CheckPredicate, 14,
   OPC_SwitchType , 14, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                    4|128,1, 2, 0, 2,
   14, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                    4|128,1, 2, 0, 2,
   0,
  36,
   OPC_CheckPredicate, 33,
   OPC_SwitchType , 14, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                    22|128,1, 2, 0, 2,
   14, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                    22|128,1, 2, 0, 2,
   0,
  36,
   OPC_CheckPredicate, 14,
   OPC_SwitchType , 14, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, 8|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
                    8|128,1, 2, 0, 2,
   14, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, 8|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
                    8|128,1, 2, 0, 2,
   0,
  36,
   OPC_CheckPredicate, 33,
   OPC_SwitchType , 14, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, 24|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
                    24|128,1, 2, 0, 2,
   14, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, 24|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
                    24|128,1, 2, 0, 2,
   0,
  0,
 29|128,1, TARGET_VAL(LoongArchISD::XVINSVE0),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_Scope, 34,
   OPC_CheckPredicate, 19,
   OPC_SwitchType , 13, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
                    MVT::v8i32, 3, 0, 1, 3,
   13, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
                    MVT::v8i32, 3, 0, 1, 3,
   0,
  34,
   OPC_CheckPredicate, 14,
   OPC_SwitchType , 13, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
                    MVT::v4i64, 3, 0, 1, 3,
   13, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
                    MVT::v4i64, 3, 0, 1, 3,
   0,
  38,
   OPC_CheckPredicate, 19,
   OPC_SwitchType , 15, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, 8|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
                    8|128,1, 3, 0, 1, 3,
   15, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, 8|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
                    8|128,1, 3, 0, 1, 3,
   0,
  38,
   OPC_CheckPredicate, 14,
   OPC_SwitchType , 15, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, 24|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
                    24|128,1, 3, 0, 1, 3,
   15, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, 24|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
                    24|128,1, 3, 0, 1, 3,
   0,
  0,
 68, TARGET_VAL(LoongArchISD::XVPERMI),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 56,
  OPC_SwitchType , 27, MVT::i64,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v4i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
                    MVT::v4i64, 2, 0, 2,
   10, 24|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
                    24|128,1, 2, 0, 2,
   0,
  27, MVT::i32,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v4i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
                    MVT::v4i64, 2, 0, 2,
   10, 24|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
                    24|128,1, 2, 0, 2,
   0,
  0,
 84, TARGET_VAL(LoongArchISD::VHADDW),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_H_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_W_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_D_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_Q_D),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_H_B),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_W_H),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_D_W),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_Q_D),
                   MVT::v4i64, 2, 0, 1,
  0,
 63|128,1, TARGET_VAL(LoongArchISD::VSHUF),
  OPC_RecordChild0,
  OPC_Scope, 15,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_B),
                   MVT::v16i8, 3, 1, 2, 0,
  15,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_H),
                   MVT::v8i16, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 9, MVT::v4i32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_W),
                    MVT::v4i32, 3, 0, 1, 2,
   10, 4|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_W),
                    4|128,1, 3, 0, 1, 2,
   0,
  30,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 9, MVT::v2i64,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_D),
                    MVT::v2i64, 3, 0, 1, 2,
   10, 22|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_D),
                    22|128,1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Type, MVT::v32i8,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_B),
                   MVT::v32i8, 3, 1, 2, 0,
  15,
   OPC_CheckChild0Type, MVT::v16i16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_H),
                   MVT::v16i16, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Type, MVT::v8i32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 9, MVT::v8i32,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_W),
                    MVT::v8i32, 3, 0, 1, 2,
   10, 8|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_W),
                    8|128,1, 3, 0, 1, 2,
   0,
  30,
   OPC_CheckChild0Type, MVT::v4i64,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 9, MVT::v4i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_D),
                    MVT::v4i64, 3, 0, 1, 2,
   10, 24|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_D),
                    24|128,1, 3, 0, 1, 2,
   0,
  0,
 4|128,1, TARGET_VAL(LoongArchISD::VPICKEV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_D),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_B),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_H),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_W),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_D),
                   MVT::v4i64, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_W),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_D),
                   22|128,1, 2, 0, 1,
  9, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_W),
                   8|128,1, 2, 0, 1,
  9, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_D),
                   24|128,1, 2, 0, 1,
  0,
 4|128,1, TARGET_VAL(LoongArchISD::VPICKOD),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_D),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_B),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_H),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_W),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_D),
                   MVT::v4i64, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_W),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_D),
                   22|128,1, 2, 0, 1,
  9, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_W),
                   8|128,1, 2, 0, 1,
  9, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_D),
                   24|128,1, 2, 0, 1,
  0,
 4|128,1, TARGET_VAL(LoongArchISD::VPACKEV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_D),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_B),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_H),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_W),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_D),
                   MVT::v4i64, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_W),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_D),
                   22|128,1, 2, 0, 1,
  9, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_W),
                   8|128,1, 2, 0, 1,
  9, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_D),
                   24|128,1, 2, 0, 1,
  0,
 4|128,1, TARGET_VAL(LoongArchISD::VPACKOD),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_D),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_B),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_H),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_W),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_D),
                   MVT::v4i64, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_W),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_D),
                   22|128,1, 2, 0, 1,
  9, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_W),
                   8|128,1, 2, 0, 1,
  9, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_D),
                   24|128,1, 2, 0, 1,
  0,
 4|128,1, TARGET_VAL(LoongArchISD::VILVL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_D),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_B),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_H),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_W),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_D),
                   MVT::v4i64, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_W),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_D),
                   22|128,1, 2, 0, 1,
  9, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_W),
                   8|128,1, 2, 0, 1,
  9, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_D),
                   24|128,1, 2, 0, 1,
  0,
 4|128,1, TARGET_VAL(LoongArchISD::VILVH),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_D),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_B),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_H),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_W),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_D),
                   MVT::v4i64, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_W),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_D),
                   22|128,1, 2, 0, 1,
  9, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_W),
                   8|128,1, 2, 0, 1,
  9, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_D),
                   24|128,1, 2, 0, 1,
  0,
 38|128,1, TARGET_VAL(ISD::FP_TO_SINT),
  OPC_RecordChild0,
  OPC_SwitchType , 99, MVT::v4i32,
   OPC_Scope, 10,
    OPC_CheckChild0Type, 4|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_S),
                    MVT::v4i32, 1, 0,
   85,
    OPC_CheckChild0Type, 24|128,1,
    OPC_Scope, 39,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
                     MVT::v32i8, 1, 0,
     OPC_EmitIntegerI64, 110|128,1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
                     MVT::v32i8, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_W),
                     MVT::v32i8, 2, 3, 4,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 5, 6,
    39,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
                     MVT::v32i8, 1, 0,
     OPC_EmitIntegerI32, 110|128,1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
                     MVT::v32i8, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_W),
                     MVT::v32i8, 2, 3, 4,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 5, 6,
    0,
   0,
  7, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_L_D),
                   MVT::v2i64, 1, 0,
  7, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
                   MVT::v8i32, 1, 0,
  42, MVT::v4i64,
   OPC_Scope, 10,
    OPC_CheckChild0Type, 24|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
                    MVT::v4i64, 1, 0,
   28,
    OPC_CheckChild0Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFTINTRZ_W_S),
                    MVT::v16i8, 1, 0,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v32i8, 3, 1, 2, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
                    MVT::v4i64, 1, 4,
   0,
  0,
 38|128,1, TARGET_VAL(ISD::FP_TO_UINT),
  OPC_RecordChild0,
  OPC_SwitchType , 99, MVT::v4i32,
   OPC_Scope, 10,
    OPC_CheckChild0Type, 4|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_WU_S),
                    MVT::v4i32, 1, 0,
   85,
    OPC_CheckChild0Type, 24|128,1,
    OPC_Scope, 39,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
                     MVT::v32i8, 1, 0,
     OPC_EmitIntegerI64, 110|128,1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
                     MVT::v32i8, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_W),
                     MVT::v32i8, 2, 3, 4,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 5, 6,
    39,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
                     MVT::v32i8, 1, 0,
     OPC_EmitIntegerI32, 110|128,1,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
                     MVT::v32i8, 2, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
                     MVT::v32i8, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_W),
                     MVT::v32i8, 2, 3, 4,
     OPC_EmitIntegerI32, LoongArch::sub_128,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 5, 6,
    0,
   0,
  7, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_LU_D),
                   MVT::v2i64, 1, 0,
  7, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_WU_S),
                   MVT::v8i32, 1, 0,
  42, MVT::v4i64,
   OPC_Scope, 10,
    OPC_CheckChild0Type, 24|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
                    MVT::v4i64, 1, 0,
   28,
    OPC_CheckChild0Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VFTINTRZ_WU_S),
                    MVT::v16i8, 1, 0,
    OPC_EmitIntegerI32, LoongArch::sub_128,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v32i8, 3, 1, 2, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
                    MVT::v4i64, 1, 4,
   0,
  0,
 83, TARGET_VAL(ISD::ABS),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_B),
                   MVT::v16i8, 2, 0, 0,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_H),
                   MVT::v8i16, 2, 0, 0,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_W),
                   MVT::v4i32, 2, 0, 0,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_D),
                   MVT::v2i64, 2, 0, 0,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_B),
                   MVT::v32i8, 2, 0, 0,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_H),
                   MVT::v16i16, 2, 0, 0,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_W),
                   MVT::v8i32, 2, 0, 0,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_D),
                   MVT::v4i64, 2, 0, 0,
  0,
 84, TARGET_VAL(ISD::ABDS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_D),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_B),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_H),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_W),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_D),
                   MVT::v4i64, 2, 0, 1,
  0,
 84, TARGET_VAL(ISD::ABDU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_BU),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_HU),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_WU),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_DU),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_BU),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_HU),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_WU),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_DU),
                   MVT::v4i64, 2, 0, 1,
  0,
 84, TARGET_VAL(ISD::SADDSAT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_D),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_B),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_H),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_W),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_D),
                   MVT::v4i64, 2, 0, 1,
  0,
 84, TARGET_VAL(ISD::SSUBSAT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_B),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_H),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_W),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_D),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_B),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_H),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_W),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_D),
                   MVT::v4i64, 2, 0, 1,
  0,
 84, TARGET_VAL(ISD::UADDSAT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_BU),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_HU),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_WU),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_DU),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_BU),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_HU),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_WU),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_DU),
                   MVT::v4i64, 2, 0, 1,
  0,
 84, TARGET_VAL(ISD::USUBSAT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_BU),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_HU),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_WU),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_DU),
                   MVT::v2i64, 2, 0, 1,
  8, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_BU),
                   MVT::v32i8, 2, 0, 1,
  8, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_HU),
                   MVT::v16i16, 2, 0, 1,
  8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_WU),
                   MVT::v8i32, 2, 0, 1,
  8, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_DU),
                   MVT::v4i64, 2, 0, 1,
  0,
 28, TARGET_VAL(LoongArchISD::XVPERM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckChild1Type, MVT::v8i32,
  OPC_SwitchType , 8, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERM_W),
                   MVT::v8i32, 2, 0, 1,
  9, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERM_W),
                   8|128,1, 2, 0, 1,
  0,
 61, TARGET_VAL(LoongArchISD::XVREPLVE0),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_B),
                   MVT::v32i8, 1, 0,
  7, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_H),
                   MVT::v16i16, 1, 0,
  7, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
                   MVT::v8i32, 1, 0,
  7, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
                   MVT::v4i64, 1, 0,
  8, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
                   8|128,1, 1, 0,
  8, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
                   24|128,1, 1, 0,
  0,
 61, TARGET_VAL(LoongArchISD::XVREPLVE0Q),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::v32i8,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
                   MVT::v32i8, 1, 0,
  7, MVT::v16i16,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
                   MVT::v16i16, 1, 0,
  7, MVT::v8i32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
                   MVT::v8i32, 1, 0,
  7, MVT::v4i64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
                   MVT::v4i64, 1, 0,
  8, 8|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
                   8|128,1, 1, 0,
  8, 24|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
                   24|128,1, 1, 0,
  0,
 90|128,5, TARGET_VAL(ISD::BUILD_VECTOR),
  OPC_RecordChild0,
  OPC_Scope, 11|128,2,
   OPC_CheckChild0TypeI64,
   OPC_CheckChild1Same, 0,
   OPC_Scope, 85,
    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_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_B),
                      MVT::v16i8, 1, 0,
     10,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_H),
                      MVT::v8i16, 1, 0,
     0,
    9,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_W),
                     MVT::v4i32, 1, 0,
    0,
   9,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_D),
                    MVT::v2i64, 1, 0,
   36|128,1,
    OPC_CheckChild2Same, 0,
    OPC_CheckChild3Same, 0,
    OPC_Scope, 18|128,1,
     OPC_MoveChild4,
     OPC_CheckSame, 0,
     OPC_MoveSibling5,
     OPC_CheckSame, 0,
     OPC_MoveSibling6,
     OPC_CheckSame, 0,
     OPC_MoveSibling7,
     OPC_CheckSame, 0,
     OPC_Scope, 120,
      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_Scope, 74,
       OPC_MoveSibling, 16,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 17,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 18,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 19,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 20,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 21,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 22,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 23,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 24,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 25,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 26,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 27,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 28,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 29,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 30,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 31,
       OPC_CheckSame, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_B),
                       MVT::v32i8, 1, 0,
      10,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_H),
                       MVT::v16i16, 1, 0,
      0,
     10,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i32,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_W),
                      MVT::v8i32, 1, 0,
     0,
    9,
     OPC_CheckType, MVT::v4i64,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_D),
                     MVT::v4i64, 1, 0,
    0,
   0,
  11|128,2,
   OPC_CheckChild0TypeI32,
   OPC_CheckChild1Same, 0,
   OPC_Scope, 85,
    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_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_B),
                      MVT::v16i8, 1, 0,
     10,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_H),
                      MVT::v8i16, 1, 0,
     0,
    9,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_W),
                     MVT::v4i32, 1, 0,
    0,
   9,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_D),
                    MVT::v2i64, 1, 0,
   36|128,1,
    OPC_CheckChild2Same, 0,
    OPC_CheckChild3Same, 0,
    OPC_Scope, 18|128,1,
     OPC_MoveChild4,
     OPC_CheckSame, 0,
     OPC_MoveSibling5,
     OPC_CheckSame, 0,
     OPC_MoveSibling6,
     OPC_CheckSame, 0,
     OPC_MoveSibling7,
     OPC_CheckSame, 0,
     OPC_Scope, 120,
      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_Scope, 74,
       OPC_MoveSibling, 16,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 17,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 18,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 19,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 20,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 21,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 22,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 23,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 24,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 25,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 26,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 27,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 28,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 29,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 30,
       OPC_CheckSame, 0,
       OPC_MoveSibling, 31,
       OPC_CheckSame, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v32i8,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_B),
                       MVT::v32i8, 1, 0,
      10,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i16,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_H),
                       MVT::v16i16, 1, 0,
      0,
     10,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_W),
                      MVT::v8i32, 1, 0,
     0,
    9,
     OPC_CheckType, MVT::v4i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_D),
                     MVT::v4i64, 1, 0,
    0,
   0,
  101,
   OPC_CheckChild0Type, MVT::f32,
   OPC_CheckChild1Same, 0,
   OPC_CheckChild2Same, 0,
   OPC_CheckChild3Same, 0,
   OPC_Scope, 36,
    OPC_MoveChild4,
    OPC_CheckSame, 0,
    OPC_MoveSibling5,
    OPC_CheckSame, 0,
    OPC_MoveSibling6,
    OPC_CheckSame, 0,
    OPC_MoveSibling7,
    OPC_CheckSame, 0,
    OPC_MoveParent,
    OPC_CheckType, 8|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v32i8, 3, 1, 0, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
                    8|128,1, 1, 3,
   53,
    OPC_CheckType, 4|128,1,
    OPC_Scope, 23,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, LoongArch::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v16i8, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                     4|128,1, 2, 3, 4,
    23,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, LoongArch::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v16i8, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
                     4|128,1, 2, 3, 4,
    0,
   0,
  86,
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckChild1Same, 0,
   OPC_SwitchType , 24, 24|128,1,
    OPC_CheckChild2Same, 0,
    OPC_CheckChild3Same, 0,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v32i8, 3, 1, 0, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
                    24|128,1, 1, 3,
   50, 22|128,1,
    OPC_Scope, 23,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, LoongArch::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v16i8, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                     22|128,1, 2, 3, 4,
    23,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, LoongArch::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v16i8, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
                     22|128,1, 2, 3, 4,
    0,
   0,
  0,
 27|128,1, TARGET_VAL(LoongArchISD::VREPLGR2VR),
  OPC_RecordChild0,
  OPC_Scope, 75,
   OPC_CheckChild0TypeI64,
   OPC_SwitchType , 7, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_B),
                    MVT::v16i8, 1, 0,
   7, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_H),
                    MVT::v8i16, 1, 0,
   7, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_W),
                    MVT::v4i32, 1, 0,
   7, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_D),
                    MVT::v2i64, 1, 0,
   7, MVT::v32i8,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_B),
                    MVT::v32i8, 1, 0,
   7, MVT::v16i16,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_H),
                    MVT::v16i16, 1, 0,
   7, MVT::v8i32,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_W),
                    MVT::v8i32, 1, 0,
   7, MVT::v4i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_D),
                    MVT::v4i64, 1, 0,
   0,
  75,
   OPC_CheckChild0TypeI32,
   OPC_SwitchType , 7, MVT::v16i8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_B),
                    MVT::v16i8, 1, 0,
   7, MVT::v8i16,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_H),
                    MVT::v8i16, 1, 0,
   7, MVT::v4i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_W),
                    MVT::v4i32, 1, 0,
   7, MVT::v2i64,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_D),
                    MVT::v2i64, 1, 0,
   7, MVT::v32i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_B),
                    MVT::v32i8, 1, 0,
   7, MVT::v16i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_H),
                    MVT::v16i16, 1, 0,
   7, MVT::v8i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_W),
                    MVT::v8i32, 1, 0,
   7, MVT::v4i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_D),
                    MVT::v4i64, 1, 0,
   0,
  0,
 44|128,1, TARGET_VAL(LoongArchISD::VREPLVE),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 83,
   OPC_CheckChild1TypeI64,
   OPC_SwitchType , 8, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_B),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_H),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_W),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_D),
                    MVT::v2i64, 2, 0, 1,
   8, MVT::v32i8,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_B),
                    MVT::v32i8, 2, 0, 1,
   8, MVT::v16i16,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_H),
                    MVT::v16i16, 2, 0, 1,
   8, MVT::v8i32,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_W),
                    MVT::v8i32, 2, 0, 1,
   8, MVT::v4i64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_D),
                    MVT::v4i64, 2, 0, 1,
   0,
  83,
   OPC_CheckChild1TypeI32,
   OPC_SwitchType , 8, MVT::v16i8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_B),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_H),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_W),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_D),
                    MVT::v2i64, 2, 0, 1,
   8, MVT::v32i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_B),
                    MVT::v32i8, 2, 0, 1,
   8, MVT::v16i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_H),
                    MVT::v16i16, 2, 0, 1,
   8, MVT::v8i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_W),
                    MVT::v8i32, 2, 0, 1,
   8, MVT::v4i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_D),
                    MVT::v4i64, 2, 0, 1,
   0,
  0,
 81, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
  OPC_RecordChild0,
  OPC_Scope, 38,
   OPC_CheckChild0Type, MVT::f32,
   OPC_SwitchType , 14, 4|128,1,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    4|128,1, 3, 1, 0, 2,
   14, 8|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    8|128,1, 3, 1, 0, 2,
   0,
  38,
   OPC_CheckChild0Type, MVT::f64,
   OPC_SwitchType , 14, 22|128,1,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    22|128,1, 3, 1, 0, 2,
   14, 24|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, LoongArch::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    24|128,1, 3, 1, 0, 2,
   0,
  0,
 0,
    0
  }; // Total Array size is 126643 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->hasExtLASX()) && (Subtarget->is64Bit());
  case 1: return (Subtarget->hasExtLASX()) && !((Subtarget->is64Bit()));
  case 2: return (Subtarget->hasExtLASX());
  case 3: return (Subtarget->hasExtLSX()) && (Subtarget->is64Bit());
  case 4: return (Subtarget->hasExtLSX()) && !((Subtarget->is64Bit()));
  case 5: return (Subtarget->hasExtLSX());
  case 6: return (Subtarget->is64Bit()) && (Subtarget->is64Bit());
  case 7: return (Subtarget->is64Bit());
  case 8: return !((Subtarget->is64Bit()));
  case 9: return (Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
  case 10: return (Subtarget->hasBasicF()) && (Subtarget->is64Bit());
  case 11: return (Subtarget->hasBasicF()) && !((Subtarget->is64Bit()));
  case 12: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit());
  case 13: return (!Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
  case 14: return (Subtarget->hasBasicD()) && !((Subtarget->is64Bit()));
  case 15: return (!Subtarget->is64Bit()) && (Subtarget->is64Bit());
  case 16: return (Subtarget->has32S()) && (!Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
  case 17: return (Subtarget->hasBasicD());
  case 18: return (Subtarget->hasFrecipe());
  case 19: return (Subtarget->hasBasicF());
  case 20: return (Subtarget->has32S()) && (!Subtarget->is64Bit()) && (Subtarget->is64Bit());
  case 21: return (Subtarget->hasLAM_BH()) && (Subtarget->is64Bit()) && (Subtarget->is64Bit());
  case 22: return (Subtarget->hasLAM_BH()) && (Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
  case 23: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit()) && (Subtarget->is64Bit());
  case 24: return (Subtarget->hasLAMCAS()) && (Subtarget->is64Bit()) && (Subtarget->is64Bit());
  case 25: return (Subtarget->hasLAMCAS()) && (Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
  case 26: return (Subtarget->has32S()) && (Subtarget->is64Bit());
  case 27: return (Subtarget->has32S()) && !((Subtarget->is64Bit()));
  case 28: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
  case 29: return (Subtarget->hasBasicD()) && (!Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
  case 30: return (Subtarget->hasBasicF()) && (Subtarget->is64Bit()) && (Subtarget->is64Bit());
  case 31: return (Subtarget->hasBasicF()) && (!Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
  case 32: return (Subtarget->hasBasicD()) && (!Subtarget->is64Bit()) && (Subtarget->is64Bit());
  case 33: return (!Subtarget->is64Bit());
  case 34: return (Subtarget->hasBasicF()) && (!Subtarget->is64Bit());
  }
}
#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_unindexedstore
    SDNode *N = Op.getNode();
    (void)N;
if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
return true;

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

  }
  case 2: {
    // 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 3: {
    // Predicate_AddLike
    SDNode *N = Op.getNode();
    (void)N;

    return CurDAG->isBaseWithConstantOffset(SDValue(N, 0));

  }
  case 4: {
    // Predicate_atomic_cmp_swap_i8
    // Predicate_atomic_load_add_i8
    // Predicate_atomic_load_aext_8
    // Predicate_atomic_load_sext_8
    // Predicate_atomic_load_sub_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 5: {
    // Predicate_atomic_cmp_swap_i16
    // Predicate_atomic_load_add_i16
    // Predicate_atomic_load_aext_16
    // Predicate_atomic_load_sext_16
    // Predicate_atomic_load_sub_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 6: {
    // Predicate_atomic_cmp_swap_i16_monotonic
    // Predicate_atomic_cmp_swap_i32_monotonic
    // Predicate_atomic_cmp_swap_i64_monotonic
    // Predicate_atomic_cmp_swap_i8_monotonic
    // Predicate_atomic_load_add_i16_monotonic
    // Predicate_atomic_load_add_i32_monotonic
    // Predicate_atomic_load_add_i64_monotonic
    // Predicate_atomic_load_add_i8_monotonic
    // Predicate_atomic_load_and_i32_monotonic
    // Predicate_atomic_load_and_i64_monotonic
    // Predicate_atomic_load_max_i32_monotonic
    // Predicate_atomic_load_max_i64_monotonic
    // Predicate_atomic_load_min_i32_monotonic
    // Predicate_atomic_load_min_i64_monotonic
    // Predicate_atomic_load_nand_i32_monotonic
    // Predicate_atomic_load_nand_i64_monotonic
    // Predicate_atomic_load_or_i32_monotonic
    // Predicate_atomic_load_or_i64_monotonic
    // Predicate_atomic_load_sub_i16_monotonic
    // Predicate_atomic_load_sub_i32_monotonic
    // Predicate_atomic_load_sub_i64_monotonic
    // Predicate_atomic_load_sub_i8_monotonic
    // Predicate_atomic_load_umax_i32_monotonic
    // Predicate_atomic_load_umax_i64_monotonic
    // Predicate_atomic_load_umin_i32_monotonic
    // Predicate_atomic_load_umin_i64_monotonic
    // Predicate_atomic_load_xor_i32_monotonic
    // Predicate_atomic_load_xor_i64_monotonic
    // Predicate_atomic_swap_i16_monotonic
    // Predicate_atomic_swap_i32_monotonic
    // Predicate_atomic_swap_i64_monotonic
    // Predicate_atomic_swap_i8_monotonic
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::Monotonic) return false;
return true;

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

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

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

  }
  case 10: {
    // 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 11: {
    // Predicate_simm12
    // Predicate_simm12_addlike
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isInt<12>(Imm);
  }
  case 12: {
    // Predicate_mul_const_oneuse
    SDNode *N = Op.getNode();
    (void)N;

  if (auto *N1C = dyn_cast<ConstantSDNode>(N->getOperand(1)))
    return N1C->hasOneUse();
  return false;

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

  APInt Imm;
  EVT EltTy = N->getValueType(0).getVectorElementType();

  if (N->getOpcode() == ISD::BITCAST)
    N = N->getOperand(0).getNode();

  return selectVSplat(N, Imm, EltTy.getSizeInBits()) &&
         Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 1;

  }
  case 14: {
    // Predicate_immZExt2
    // Predicate_uimm2
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<2>(Imm);
  }
  case 15: {
    // Predicate_vsplati8_imm_eq_7
    SDNode *N = Op.getNode();
    (void)N;

  APInt Imm;
  EVT EltTy = N->getValueType(0).getVectorElementType();

  if (N->getOpcode() == ISD::BITCAST)
    N = N->getOperand(0).getNode();

  return selectVSplat(N, Imm, EltTy.getSizeInBits()) &&
         Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 7;

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

  APInt Imm;
  EVT EltTy = N->getValueType(0).getVectorElementType();

  if (N->getOpcode() == ISD::BITCAST)
    N = N->getOperand(0).getNode();

  return selectVSplat(N, Imm, EltTy.getSizeInBits()) &&
         Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 15;

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

  APInt Imm;
  EVT EltTy = N->getValueType(0).getVectorElementType();

  if (N->getOpcode() == ISD::BITCAST)
    N = N->getOperand(0).getNode();

  return selectVSplat(N, Imm, EltTy.getSizeInBits()) &&
         Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 31;

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

  APInt Imm;
  EVT EltTy = N->getValueType(0).getVectorElementType();

  if (N->getOpcode() == ISD::BITCAST)
    N = N->getOperand(0).getNode();

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

  }
  case 19: {
    // Predicate_immZExt3
    // Predicate_uimm3
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<3>(Imm);
  }
  case 20: {
    // Predicate_sextload
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) return false;
return true;

  }
  case 21: {
    // Predicate_atomic_load_add_i32_acquire
    // Predicate_atomic_load_and_i32_acquire
    // Predicate_atomic_load_max_i32_acquire
    // Predicate_atomic_load_min_i32_acquire
    // Predicate_atomic_load_nand_i32_acquire
    // Predicate_atomic_load_nand_i64_acquire
    // Predicate_atomic_load_or_i32_acquire
    // Predicate_atomic_load_sub_i32_acquire
    // Predicate_atomic_load_umax_i32_acquire
    // Predicate_atomic_load_umin_i32_acquire
    // Predicate_atomic_load_xor_i32_acquire
    // Predicate_atomic_swap_i32_acquire
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::Acquire) return false;
return true;

  }
  case 22: {
    // Predicate_atomic_load_add_i32_release
    // Predicate_atomic_load_and_i32_release
    // Predicate_atomic_load_max_i32_release
    // Predicate_atomic_load_min_i32_release
    // Predicate_atomic_load_nand_i32_release
    // Predicate_atomic_load_nand_i64_release
    // Predicate_atomic_load_or_i32_release
    // Predicate_atomic_load_sub_i32_release
    // Predicate_atomic_load_umax_i32_release
    // Predicate_atomic_load_umin_i32_release
    // Predicate_atomic_load_xor_i32_release
    // Predicate_atomic_swap_i32_release
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::Release) return false;
return true;

  }
  case 23: {
    // Predicate_atomic_load_add_i32_acq_rel
    // Predicate_atomic_load_and_i32_acq_rel
    // Predicate_atomic_load_max_i32_acq_rel
    // Predicate_atomic_load_min_i32_acq_rel
    // Predicate_atomic_load_nand_i32_acq_rel
    // Predicate_atomic_load_nand_i64_acq_rel
    // Predicate_atomic_load_or_i32_acq_rel
    // Predicate_atomic_load_sub_i32_acq_rel
    // Predicate_atomic_load_umax_i32_acq_rel
    // Predicate_atomic_load_umin_i32_acq_rel
    // Predicate_atomic_load_xor_i32_acq_rel
    // Predicate_atomic_swap_i32_acq_rel
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::AcquireRelease) return false;
return true;

  }
  case 24: {
    // Predicate_atomic_load_add_i32_seq_cst
    // Predicate_atomic_load_and_i32_seq_cst
    // Predicate_atomic_load_max_i32_seq_cst
    // Predicate_atomic_load_min_i32_seq_cst
    // Predicate_atomic_load_nand_i32_seq_cst
    // Predicate_atomic_load_nand_i64_seq_cst
    // Predicate_atomic_load_or_i32_seq_cst
    // Predicate_atomic_load_sub_i32_seq_cst
    // Predicate_atomic_load_umax_i32_seq_cst
    // Predicate_atomic_load_umin_i32_seq_cst
    // Predicate_atomic_load_xor_i32_seq_cst
    // Predicate_atomic_swap_i32_seq_cst
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::SequentiallyConsistent) return false;
return true;

  }
  case 25: {
    // Predicate_uimm5
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<5>(Imm);
  }
  case 26: {
    // Predicate_extload
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
return true;

  }
  case 27: {
    // Predicate_immZExt4
    // Predicate_uimm4
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<4>(Imm);
  }
  case 28: {
    // Predicate_atomic_load_aext
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
return true;

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

  }
  case 30: {
    // Predicate_simm8_lsl2
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isShiftedInt<8,2>(Imm);
  }
  case 31: {
    // Predicate_simm8_lsl3
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isShiftedInt<8,3>(Imm);
  }
  case 32: {
    // Predicate_zextload
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
return true;

  }
  case 33: {
    // Predicate_immZExt1
    // Predicate_uimm1
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<1>(Imm);
  }
  case 34: {
    // Predicate_uimm6
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<6>(Imm);
  }
  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_atomic_store_unordered_monotonic_32
    // Predicate_atomic_store_unordered_monotonic_64
    SDNode *N = Op.getNode();
    (void)N;

  AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getSuccessOrdering();
  return !isReleaseOrStronger(Ordering);

  }
  case 37: {
    // Predicate_simm8
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isInt<8>(Imm);
  }
  case 38: {
    // Predicate_simm8_lsl1
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isShiftedInt<8,1>(Imm);
  }
  case 39: {
    // Predicate_fma_nsz
    SDNode *N = Op.getNode();
    (void)N;

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

  }
  case 40: {
    // Predicate_simm10_lsl2
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isShiftedInt<10,2>(Imm);
  }
  case 41: {
    // Predicate_simm9_lsl3
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isShiftedInt<9,3>(Imm);
  }
  case 42: {
    // Predicate_uimm2_plus1
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<2>(Imm - 1);
  }
  case 43: {
    // Predicate_assertsexti32
    SDNode *N = Op.getNode();
    (void)N;

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

  }
  case 44: {
    // Predicate_simm14_lsl2
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isShiftedInt<14,2>(Imm);
  }
  case 45: {
    // Predicate_atomic_store_release_seqcst_32
    // Predicate_atomic_store_release_seqcst_64
    SDNode *N = Op.getNode();
    (void)N;

  AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getSuccessOrdering();
  return isReleaseOrStronger(Ordering);

  }
  case 46: {
    // Predicate_uimm15
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<15>(Imm);
  }
  case 47: {
    // Predicate_simm11_lsl1
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isShiftedInt<11,1>(Imm);
  }
  case 48: {
    // Predicate_uimm12
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<12>(Imm);
  }
  case 49: {
    // Predicate_uimm14
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<14>(Imm);
  }
  case 50: {
    // Predicate_atomic_cmp_swap_i32_failure_monotonic
    // Predicate_atomic_cmp_swap_i64_failure_monotonic
    SDNode *N = Op.getNode();
    (void)N;

    AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getFailureOrdering();
    return Ordering == AtomicOrdering::Monotonic;
  
  }
  case 51: {
    // Predicate_atomic_cmp_swap_i32_failure_acquire
    // Predicate_atomic_cmp_swap_i64_failure_acquire
    SDNode *N = Op.getNode();
    (void)N;

    AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getFailureOrdering();
    return Ordering == AtomicOrdering::Acquire;
  
  }
  case 52: {
    // Predicate_atomic_cmp_swap_i32_failure_release
    // Predicate_atomic_cmp_swap_i64_failure_release
    SDNode *N = Op.getNode();
    (void)N;

    AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getFailureOrdering();
    return Ordering == AtomicOrdering::Release;
  
  }
  case 53: {
    // Predicate_atomic_cmp_swap_i32_failure_acq_rel
    // Predicate_atomic_cmp_swap_i64_failure_acq_rel
    SDNode *N = Op.getNode();
    (void)N;

    AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getFailureOrdering();
    return Ordering == AtomicOrdering::AcquireRelease;
  
  }
  case 54: {
    // Predicate_atomic_cmp_swap_i32_failure_seq_cst
    // Predicate_atomic_cmp_swap_i64_failure_seq_cst
    SDNode *N = Op.getNode();
    (void)N;

    AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getFailureOrdering();
    return Ordering == AtomicOrdering::SequentiallyConsistent;
  
  }
  case 55: {
    // Predicate_fpimm1
    auto *N = cast<ConstantFPSDNode>(Op.getNode());
    (void)N;
return N->isExactlyValue(+1.0);
  }
  case 56: {
    // Predicate_immZExt8
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isUInt<8>(Imm);
  }
  case 57: {
    // Predicate_AlslSlliImm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  if (!N->hasOneUse())
    return false;
  uint64_t Imm = N->getZExtValue();
  unsigned I1 = llvm::countr_zero(Imm);
  uint64_t Rem = Imm >> I1;
  return Rem == 3 || Rem == 5 || Rem == 9 || Rem == 17;

  }
  case 58: {
    // Predicate_simm32_hi16_lo12
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return !isInt<12>(Imm) && isShiftedInt<16, 16>(Imm - SignExtend64<12>(Imm));

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

  if (!N->hasOneUse())
    return false;
  // The immediate operand must be in range [-4096,-2049] or [2048,4094].
  int64_t Imm = N->getSExtValue();
  return (-4096 <= Imm && Imm <= -2049) || (2048 <= Imm && Imm <= 4094);

  }
  case 60: {
    // Predicate_simm12_plus1
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return (isInt<12>(Imm) && Imm != -2048) || Imm == 2048;
  }
  case 61: {
    // Predicate_vsplatf32_fpimm_eq_1
    SDNode *N = Op.getNode();
    (void)N;

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

  return selectVSplat(N, Imm, EltTy.getSizeInBits()) &&
         Imm.getBitWidth() == 32 &&
         Imm.getBitWidth() == EltTy.getSizeInBits() &&
         Imm == APFloat(+1.0f).bitcastToAPInt();

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

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

  return selectVSplat(N, Imm, EltTy.getSizeInBits()) &&
         Imm.getBitWidth() == EltTy.getSizeInBits() &&
         Imm == APFloat(+1.0).bitcastToAPInt();

  }
  case 63: {
    // Predicate_fpimm0
    auto *N = cast<ConstantFPSDNode>(Op.getNode());
    (void)N;
return N->isExactlyValue(+0.0);
  }
  case 64: {
    // Predicate_fpimm0neg
    auto *N = cast<ConstantFPSDNode>(Op.getNode());
    (void)N;
return N->isExactlyValue(-0.0);
  }
  case 65: {
    // Predicate_simm16_lsl16
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isShiftedInt<16, 16>(Imm);
  }
  case 66: {
    // Predicate_BstrinsImm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  if (!N->hasOneUse())
    return false;
  uint64_t Imm = N->getZExtValue();
  // andi can be used instead if Imm <= 0xfff.
  if (Imm <= 0xfff)
    return false;
  unsigned MaskIdx, MaskLen;
  return N->getValueType(0).getSizeInBits() == 32
             ? llvm::isShiftedMask_32(~Imm, MaskIdx, MaskLen)
             : llvm::isShiftedMask_64(~Imm, MaskIdx, MaskLen);

  }
  case 67: {
    // Predicate_simm16_lsl2
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
return isInt<16>(Imm>>2);
  }
  case 68: {
    // Predicate_f32imm_vldi
    auto *N = cast<ConstantFPSDNode>(Op.getNode());
    (void)N;

  const auto &TLI =
      *static_cast<const LoongArchTargetLowering*>(getTargetLowering());
  return TLI.isFPImmVLDILegal(N->getValueAPF(), MVT::f32);

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

  const auto &TLI =
      *static_cast<const LoongArchTargetLowering*>(getTargetLowering());
  return TLI.isFPImmVLDILegal(N->getValueAPF(), MVT::f64);

  }
  }
}
#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+1);
  return SelectBaseAddr(N, Result[NextRes+0].first);
  case 1:
    Result.resize(NextRes+1);
  return selectVSplatImm<5>(N, Result[NextRes+0].first);
  case 2:
    Result.resize(NextRes+2);
  return SelectAddrConstant(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 3:
    Result.resize(NextRes+1);
  return selectNonFIBaseAddr(N, Result[NextRes+0].first);
  case 4:
    Result.resize(NextRes+1);
  return selectVSplatImm<5, true>(N, Result[NextRes+0].first);
  case 5:
    Result.resize(NextRes+1);
  return selectVSplatUimmPow2(N, Result[NextRes+0].first);
  case 6:
    Result.resize(NextRes+1);
  return selectVSplatImm<8>(N, Result[NextRes+0].first);
  case 7:
    Result.resize(NextRes+1);
  return selectVSplatUimmInvPow2(N, Result[NextRes+0].first);
  case 8:
    Result.resize(NextRes+1);
  return selectShiftMaskGRLen(N, Result[NextRes+0].first);
  case 9:
    Result.resize(NextRes+1);
  return selectVSplatImm<3>(N, Result[NextRes+0].first);
  case 10:
    Result.resize(NextRes+1);
  return selectVSplatImm<4>(N, Result[NextRes+0].first);
  case 11:
    Result.resize(NextRes+1);
  return selectVSplatImm<6>(N, Result[NextRes+0].first);
  case 12:
    Result.resize(NextRes+2);
  return SelectAddrRegImm12(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 13:
    Result.resize(NextRes+1);
  return selectShiftMask32(N, Result[NextRes+0].first);
  case 14:
    Result.resize(NextRes+1);
  return selectSExti32(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());

  uint64_t Imm = N->getZExtValue();
  unsigned I1 = llvm::countr_zero(Imm);
  uint64_t I0;
  switch (Imm >> I1) {
  case 3:  I0 = 1; break;
  case 5:  I0 = 2; break;
  case 9:  I0 = 3; break;
  default: I0 = 4; break;
  }
  return CurDAG->getTargetConstant(I0, SDLoc(N),
                                   N->getValueType(0));

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

  uint64_t Imm = N->getZExtValue();
  unsigned I1 = llvm::countr_zero(Imm);
  return CurDAG->getTargetConstant(I1, SDLoc(N),
                                   N->getValueType(0));

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

  auto Imm = N->getSExtValue();
  return CurDAG->getSignedTargetConstant((Imm - SignExtend64<12>(Imm)) >> 16,
                                          SDLoc(N), N->getValueType(0));

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

  return CurDAG->getSignedTargetConstant(SignExtend64<12>(N->getSExtValue()),
                                         SDLoc(N), N->getValueType(0));

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

  int64_t Imm = N->getSExtValue() < 0 ? -2048 : 2047;
  return CurDAG->getSignedTargetConstant(Imm, SDLoc(N),
                                         N->getValueType(0));

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

  int64_t Imm = N->getSExtValue();
  int64_t Adj = Imm < 0 ? -2048 : 2047;
  return CurDAG->getSignedTargetConstant(Imm - Adj, SDLoc(N),
                                         N->getValueType(0));

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

  return CurDAG->getSignedTargetConstant(N->getSExtValue() >> 16, SDLoc(N),
                                         N->getValueType(0));

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

  auto CN = cast<ConstantSDNode>(N);
  return CurDAG->getSignedTargetConstant(CN->getSExtValue(), SDLoc(N),
                                         Subtarget->getGRLenVT());

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

  uint64_t Imm = N->getZExtValue();
  unsigned MaskIdx, MaskLen;
  N->getValueType(0).getSizeInBits() == 32
      ? llvm::isShiftedMask_32(~Imm, MaskIdx, MaskLen)
      : llvm::isShiftedMask_64(~Imm, MaskIdx, MaskLen);
  return CurDAG->getTargetConstant(MaskIdx + MaskLen - 1, SDLoc(N),
                                   N->getValueType(0));

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

  uint64_t Imm = N->getZExtValue();
  unsigned MaskIdx, MaskLen;
  N->getValueType(0).getSizeInBits() == 32
      ? llvm::isShiftedMask_32(~Imm, MaskIdx, MaskLen)
      : llvm::isShiftedMask_64(~Imm, MaskIdx, MaskLen);
  return CurDAG->getTargetConstant(MaskIdx, SDLoc(N), N->getValueType(0));

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

  return CurDAG->getSignedTargetConstant(-N->getSExtValue(), SDLoc(N),
                                         N->getValueType(0));

  }
  case 11: {  
    SDNode *N = V.getNode();

  ISD::CondCode CC = cast<CondCodeSDNode>(N->getOperand(2))->get();
  unsigned BrCC = getBranchOpcForIntCC(CC);
  return CurDAG->getTargetConstant(BrCC, SDLoc(N), Subtarget->getGRLenVT());

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

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

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

  uint64_t x = N->getValueAPF().bitcastToAPInt().getZExtValue();
  x = (0b11011 << 8) | (((x >> 24) & 0xc0) ^ 0x40) | ((x >> 19) & 0x3f);
  return CurDAG->getSignedTargetConstant(SignExtend32<13>(x), SDLoc(N),
                                         MVT::i32);

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

  uint64_t x = N->getValueAPF().bitcastToAPInt().getZExtValue();
  x = (0b11100 << 8) | (((x >> 56) & 0xc0) ^ 0x40) | ((x >> 48) & 0x3f);
  return CurDAG->getSignedTargetConstant(SignExtend32<13>(x), 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
