blob: 5685df0cb8e3a9b3b9130fa1f75b456643339782 [file] [log] [blame]
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|* DAG Instruction Selector for the Mips target *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
// *** NOTE: This file is #included into the middle of the target
// *** instruction selector class. These functions are really methods.
// If GET_DAGISEL_DECL is #defined with any value, only function
// declarations will be included when this file is included.
// If GET_DAGISEL_BODY is #defined, its value should be the name of
// the instruction selector class. Function bodies will be emitted
// and each function's name will be qualified with the name of the
// class.
//
// When neither of the GET_DAGISEL* macros is defined, the functions
// are emitted inline.
#if defined(GET_DAGISEL_DECL) && defined(GET_DAGISEL_BODY)
#error GET_DAGISEL_DECL and GET_DAGISEL_BODY cannot be both defined, undef both for inline definitions
#endif
#ifdef GET_DAGISEL_BODY
#define LOCAL_DAGISEL_STRINGIZE(X) LOCAL_DAGISEL_STRINGIZE_(X)
#define LOCAL_DAGISEL_STRINGIZE_(X) #X
static_assert(sizeof(LOCAL_DAGISEL_STRINGIZE(GET_DAGISEL_BODY)) > 1,
"GET_DAGISEL_BODY is empty: it should be defined with the class name");
#undef LOCAL_DAGISEL_STRINGIZE_
#undef LOCAL_DAGISEL_STRINGIZE
#endif
#if !defined(GET_DAGISEL_DECL) && !defined(GET_DAGISEL_BODY)
#define DAGISEL_INLINE 1
#else
#define DAGISEL_INLINE 0
#endif
#if !DAGISEL_INLINE
#define DAGISEL_CLASS_COLONCOLON GET_DAGISEL_BODY ::
#else
#define DAGISEL_CLASS_COLONCOLON
#endif
#ifdef GET_DAGISEL_DECL
void SelectCode(SDNode *N);
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
{
// Some target values are emitted as 2 bytes, TARGET_VAL handles
// this.
#define TARGET_VAL(X) X & 255, unsigned(X) >> 8
static const unsigned char MatcherTable[] = {
OPC_SwitchOpcode , 103|128,7, TARGET_VAL(ISD::STORE),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_Scope, 82|128,1,
OPC_RecordChild1,
OPC_Scope, 125,
OPC_CheckChild1Type, MVT::f64,
OPC_Scope, 82,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 0,
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 1,
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC164), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 2,
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 3,
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 4,
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
37,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 5,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDXC1), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 2, 3,
11,
OPC_CheckPatternPredicate, 6,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDXC164), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 2, 3,
0,
0,
80,
OPC_CheckChild1Type, MVT::f32,
OPC_Scope, 37,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 8,
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
37,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 9,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWXC1), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 2, 3,
11,
OPC_CheckPatternPredicate, 10,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWXC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 2, 3,
0,
0,
0,
26,
OPC_CheckChild1Integer, 0,
OPC_CheckChild1Type, MVT::i32,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
3, 4, 2, 3,
114|128,5,
OPC_RecordChild1,
OPC_Scope, 44|128,2,
OPC_CheckChild1Type, MVT::i32,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_Scope, 38,
OPC_CheckPredicate, 2,
OPC_Scope, 16,
OPC_CheckPredicate, 3,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SB), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
16,
OPC_CheckPredicate, 4,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SH), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
79,
OPC_CheckPredicate, 1,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 11,
OPC_CheckComplexPat, /*CP*/2, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC2), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 12,
OPC_CheckComplexPat, /*CP*/2, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC2), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 13,
OPC_CheckComplexPat, /*CP*/2, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC3), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 14,
OPC_CheckComplexPat, /*CP*/2, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC3), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
38,
OPC_CheckPredicate, 2,
OPC_Scope, 16,
OPC_CheckPredicate, 3,
OPC_CheckPatternPredicate, 15,
OPC_CheckComplexPat, /*CP*/3, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SbRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
16,
OPC_CheckPredicate, 4,
OPC_CheckPatternPredicate, 15,
OPC_CheckComplexPat, /*CP*/3, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::ShRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
16,
OPC_CheckPredicate, 1,
OPC_CheckPatternPredicate, 15,
OPC_CheckComplexPat, /*CP*/4, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SwRxSpImmX16), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
38,
OPC_CheckPredicate, 2,
OPC_Scope, 16,
OPC_CheckPredicate, 3,
OPC_CheckPatternPredicate, 8,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SB_MM), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
16,
OPC_CheckPredicate, 4,
OPC_CheckPatternPredicate, 8,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SH_MM), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
78,
OPC_CheckPredicate, 1,
OPC_Scope, 30,
OPC_CheckPatternPredicate, 8,
OPC_Scope, 12,
OPC_CheckComplexPat, /*CP*/5, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SW16_MM), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
12,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SW_MM), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
42,
OPC_CheckPatternPredicate, 16,
OPC_Scope, 24,
OPC_CheckComplexPat, /*CP*/6, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_Scope, 8,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
8,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
12,
OPC_CheckComplexPat, /*CP*/5, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SW16_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
0,
0,
39,
OPC_CheckChild1Type, MVT::f32,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 17,
OPC_CheckComplexPat, /*CP*/2, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 18,
OPC_CheckComplexPat, /*CP*/2, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
84,
OPC_CheckChild1Type, MVT::f64,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 19,
OPC_CheckComplexPat, /*CP*/2, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC164), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 20,
OPC_CheckComplexPat, /*CP*/2, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 21,
OPC_CheckComplexPat, /*CP*/2, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 22,
OPC_CheckComplexPat, /*CP*/2, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 23,
OPC_CheckComplexPat, /*CP*/7, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
80,
OPC_CheckChild1Type, MVT::i64,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_Scope, 55,
OPC_CheckPredicate, 2,
OPC_Scope, 16,
OPC_CheckPredicate, 3,
OPC_CheckPatternPredicate, 24,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SB64), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
16,
OPC_CheckPredicate, 4,
OPC_CheckPatternPredicate, 24,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SH64), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
16,
OPC_CheckPredicate, 5,
OPC_CheckPatternPredicate, 24,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SW64), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
16,
OPC_CheckPredicate, 1,
OPC_CheckPatternPredicate, 25,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SD), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
21,
OPC_CheckChild1Type, MVT::v16i8,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/8, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
21,
OPC_CheckChild1Type, MVT::v8i16,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/9, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
21,
OPC_CheckChild1Type, MVT::v4i32,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/10, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
21,
OPC_CheckChild1Type, MVT::v2i64,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/11, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
21,
OPC_CheckChild1Type, MVT::v8f16,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_CheckPatternPredicate, 27,
OPC_CheckComplexPat, /*CP*/9, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
21,
OPC_CheckChild1Type, MVT::v4f32,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_CheckPatternPredicate, 27,
OPC_CheckComplexPat, /*CP*/10, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
21,
OPC_CheckChild1Type, MVT::v2f64,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_CheckPatternPredicate, 27,
OPC_CheckComplexPat, /*CP*/11, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
32,
OPC_CheckChild1Type, MVT::v2i16,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_CheckPatternPredicate, 28,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 1, 5,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
3, 6, 3, 4,
32,
OPC_CheckChild1Type, MVT::v4i8,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_CheckPatternPredicate, 28,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 1, 5,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
3, 6, 3, 4,
22,
OPC_CheckChild1Type, MVT::f16,
OPC_RecordChild2,
OPC_RecordChild2,
OPC_CheckPredicate, 0,
OPC_CheckPredicate, 1,
OPC_CheckPatternPredicate, 27,
OPC_CheckComplexPat, /*CP*/8, /*#*/3,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_F16), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 2, 3,
0,
0,
109|128,11, TARGET_VAL(ISD::LOAD),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_Scope, 121,
OPC_RecordChild1,
OPC_CheckPredicate, 6,
OPC_CheckType, MVT::i32,
OPC_Scope, 38,
OPC_CheckPredicate, 7,
OPC_Scope, 16,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
16,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
0,
38,
OPC_CheckPredicate, 10,
OPC_Scope, 16,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
16,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
0,
16,
OPC_CheckPredicate, 11,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
18,
OPC_CheckPredicate, 10,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 8,
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
0,
61,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_CheckPredicate, 6,
OPC_CheckType, MVT::i32,
OPC_Scope, 15,
OPC_CheckPredicate, 7,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LBUX), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
15,
OPC_CheckPredicate, 10,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LHX), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWX), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
0,
57|128,7,
OPC_RecordChild1,
OPC_CheckPredicate, 6,
OPC_Scope, 20,
OPC_CheckPredicate, 10,
OPC_CheckPredicate, 8,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
20,
OPC_CheckPredicate, 7,
OPC_CheckPredicate, 8,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
20,
OPC_CheckPredicate, 10,
OPC_CheckPredicate, 9,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
20,
OPC_CheckPredicate, 7,
OPC_CheckPredicate, 9,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
81,
OPC_CheckPredicate, 11,
OPC_CheckType, MVT::i32,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
14,
OPC_CheckPatternPredicate, 11,
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC2), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
14,
OPC_CheckPatternPredicate, 12,
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC2), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
14,
OPC_CheckPatternPredicate, 13,
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC3), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
14,
OPC_CheckPatternPredicate, 14,
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC3), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
0,
57,
OPC_CheckPredicate, 12,
OPC_CheckType, MVT::i32,
OPC_Scope, 16,
OPC_CheckPredicate, 13,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
16,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
16,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
0,
20,
OPC_CheckPredicate, 10,
OPC_CheckPredicate, 8,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 24,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 2, 3,
20,
OPC_CheckPredicate, 7,
OPC_CheckPredicate, 8,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 24,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 2, 3,
20,
OPC_CheckPredicate, 10,
OPC_CheckPredicate, 9,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 24,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 2, 3,
20,
OPC_CheckPredicate, 7,
OPC_CheckPredicate, 9,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 24,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 2, 3,
20,
OPC_CheckPredicate, 10,
OPC_CheckPredicate, 14,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 24,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 2, 3,
20,
OPC_CheckPredicate, 7,
OPC_CheckPredicate, 14,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 25,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWu), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 2, 3,
18,
OPC_CheckPredicate, 11,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 25,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LD), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 2, 3,
74,
OPC_CheckPredicate, 12,
OPC_CheckType, MVT::i64,
OPC_Scope, 16,
OPC_CheckPredicate, 13,
OPC_CheckPatternPredicate, 29,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 2, 3,
16,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 29,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 2, 3,
16,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 29,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 2, 3,
16,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 29,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 2, 3,
0,
20,
OPC_CheckPredicate, 10,
OPC_CheckPredicate, 8,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_CheckComplexPat, /*CP*/3, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LbRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
20,
OPC_CheckPredicate, 7,
OPC_CheckPredicate, 8,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_CheckComplexPat, /*CP*/3, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LbuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
20,
OPC_CheckPredicate, 10,
OPC_CheckPredicate, 9,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_CheckComplexPat, /*CP*/3, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LhRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
20,
OPC_CheckPredicate, 7,
OPC_CheckPredicate, 9,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_CheckComplexPat, /*CP*/3, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LhuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
18,
OPC_CheckPredicate, 11,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_CheckComplexPat, /*CP*/4, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LwRxSpImmX16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
40,
OPC_CheckPredicate, 12,
OPC_CheckType, MVT::i32,
OPC_Scope, 16,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 15,
OPC_CheckComplexPat, /*CP*/3, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LbuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
16,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 15,
OPC_CheckComplexPat, /*CP*/3, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LhuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
0,
20,
OPC_CheckPredicate, 10,
OPC_CheckPredicate, 8,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LB_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
20,
OPC_CheckPredicate, 7,
OPC_CheckPredicate, 8,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
20,
OPC_CheckPredicate, 10,
OPC_CheckPredicate, 9,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
40,
OPC_CheckPredicate, 7,
OPC_CheckType, MVT::i32,
OPC_Scope, 16,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 8,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
16,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 30,
OPC_CheckComplexPat, /*CP*/12, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWU_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
0,
34,
OPC_CheckPredicate, 11,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_Scope, 12,
OPC_CheckComplexPat, /*CP*/5, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LW16_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
12,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
0,
57,
OPC_CheckPredicate, 12,
OPC_CheckType, MVT::i32,
OPC_Scope, 16,
OPC_CheckPredicate, 13,
OPC_CheckPatternPredicate, 8,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
16,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 8,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
16,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 8,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
0,
33|128,1,
OPC_CheckPredicate, 11,
OPC_SwitchType , 42, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_Scope, 12,
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
24,
OPC_CheckComplexPat, /*CP*/6, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_Scope, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
0,
0,
77, MVT::f64,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 0,
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f64, 2, 2, 3,
14,
OPC_CheckPatternPredicate, 1,
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC164), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f64, 2, 2, 3,
14,
OPC_CheckPatternPredicate, 2,
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f64, 2, 2, 3,
14,
OPC_CheckPatternPredicate, 3,
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f64, 2, 2, 3,
14,
OPC_CheckPatternPredicate, 4,
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f64, 2, 2, 3,
0,
32, MVT::f32,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f32, 2, 2, 3,
14,
OPC_CheckPatternPredicate, 8,
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f32, 2, 2, 3,
0,
0,
0,
69,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_CheckPredicate, 6,
OPC_CheckPredicate, 11,
OPC_SwitchType , 26, MVT::f32,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 9,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWXC1), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 10,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWXC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f32, 2, 1, 2,
0,
26, MVT::f64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 5,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDXC1), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f64, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 6,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDXC164), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f64, 2, 1, 2,
0,
0,
46|128,2,
OPC_RecordChild1,
OPC_CheckPredicate, 6,
OPC_CheckPredicate, 11,
OPC_SwitchType , 32, MVT::f32,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 17,
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f32, 2, 2, 3,
14,
OPC_CheckPatternPredicate, 18,
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f32, 2, 2, 3,
0,
77, MVT::f64,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 19,
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC164), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f64, 2, 2, 3,
14,
OPC_CheckPatternPredicate, 20,
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f64, 2, 2, 3,
14,
OPC_CheckPatternPredicate, 21,
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f64, 2, 2, 3,
14,
OPC_CheckPatternPredicate, 22,
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f64, 2, 2, 3,
14,
OPC_CheckPatternPredicate, 23,
OPC_CheckComplexPat, /*CP*/7, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f64, 2, 2, 3,
0,
14, MVT::f16,
OPC_CheckPatternPredicate, 27,
OPC_CheckComplexPat, /*CP*/8, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_F16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::f16, 2, 2, 3,
14, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/8, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
MVT::v16i8, 2, 2, 3,
14, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/9, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
MVT::v8i16, 2, 2, 3,
14, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/10, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
MVT::v4i32, 2, 2, 3,
14, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/11, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
MVT::v2i64, 2, 2, 3,
25, MVT::v2i16,
OPC_CheckPatternPredicate, 28,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
MVT::v2i16, 2, 4, 5,
25, MVT::v4i8,
OPC_CheckPatternPredicate, 28,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
MVT::v4i8, 2, 4, 5,
14, MVT::v8f16,
OPC_CheckPatternPredicate, 27,
OPC_CheckComplexPat, /*CP*/9, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
MVT::v8f16, 2, 2, 3,
14, MVT::v4f32,
OPC_CheckPatternPredicate, 27,
OPC_CheckComplexPat, /*CP*/10, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
MVT::v4f32, 2, 2, 3,
14, MVT::v2f64,
OPC_CheckPatternPredicate, 27,
OPC_CheckComplexPat, /*CP*/11, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
MVT::v2f64, 2, 2, 3,
0,
0,
79|128,20, TARGET_VAL(ISD::BRCOND),
OPC_RecordNode,
OPC_Scope, 111|128,19,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
OPC_Scope, 52|128,4,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 21|128,1,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_Scope, 68,
OPC_CheckChild0Integer, 2,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 15,
OPC_CheckType, MVT::i64,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_MoveParent,
OPC_CheckChild1Integer, 0,
OPC_CheckType, MVT::i32,
OPC_Scope, 22,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 31,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BBIT0), 0|OPFL_Chain,
3, 1, 4, 3,
22,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 31,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BBIT1), 0|OPFL_Chain,
3, 1, 4, 3,
0,
72,
OPC_CheckChild0Integer, 0|128,0|128,0|128,0|128,32,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 15,
OPC_CheckType, MVT::i64,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_MoveParent,
OPC_CheckChild1Integer, 0,
OPC_CheckType, MVT::i32,
OPC_Scope, 22,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 31,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BBIT032), 0|OPFL_Chain,
3, 1, 4, 3,
22,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 31,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BBIT132), 0|OPFL_Chain,
3, 1, 4, 3,
0,
0,
22|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_Scope, 69,
OPC_CheckChild0Integer, 2,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 15,
OPC_CheckType, MVT::i64,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::i64,
OPC_MoveParent,
OPC_CheckChild1Integer, 0,
OPC_CheckType, MVT::i32,
OPC_Scope, 22,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 31,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BBIT0), 0|OPFL_Chain,
3, 2, 4, 3,
22,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 31,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BBIT1), 0|OPFL_Chain,
3, 2, 4, 3,
0,
73,
OPC_CheckChild0Integer, 0|128,0|128,0|128,0|128,32,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 15,
OPC_CheckType, MVT::i64,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::i64,
OPC_MoveParent,
OPC_CheckChild1Integer, 0,
OPC_CheckType, MVT::i32,
OPC_Scope, 22,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 31,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BBIT032), 0|OPFL_Chain,
3, 2, 4, 3,
22,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 31,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BBIT132), 0|OPFL_Chain,
3, 2, 4, 3,
0,
0,
125|128,1,
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 35,
OPC_CheckPredicate, 16,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_MoveParent,
OPC_CheckChild1Integer, 0,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 32,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNodeXForm, 0, 4,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BBIT0), 0|OPFL_Chain,
3, 1, 5, 3,
35,
OPC_CheckPredicate, 17,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_MoveParent,
OPC_CheckChild1Integer, 0,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 32,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNodeXForm, 1, 4,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BBIT032), 0|OPFL_Chain,
3, 1, 5, 3,
35,
OPC_CheckPredicate, 16,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_MoveParent,
OPC_CheckChild1Integer, 0,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 32,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNodeXForm, 0, 4,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BBIT1), 0|OPFL_Chain,
3, 1, 5, 3,
35,
OPC_CheckPredicate, 17,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_MoveParent,
OPC_CheckChild1Integer, 0,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 32,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNodeXForm, 1, 4,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BBIT132), 0|OPFL_Chain,
3, 1, 5, 3,
100,
OPC_CheckPredicate, 18,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_CheckChild1Integer, 0,
OPC_CheckType, MVT::i32,
OPC_Scope, 43,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 32,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 4, 1, 5,
OPC_EmitConvertToTarget, 2,
OPC_EmitNodeXForm, 0, 7,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BBIT0), 0|OPFL_Chain,
3, 6, 8, 3,
43,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 32,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 4, 1, 5,
OPC_EmitConvertToTarget, 2,
OPC_EmitNodeXForm, 0, 7,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BBIT1), 0|OPFL_Chain,
3, 6, 8, 3,
0,
0,
0,
49|128,15,
OPC_RecordChild0,
OPC_Scope, 11|128,11,
OPC_CheckChild0Type, MVT::i32,
OPC_Scope, 14|128,2,
OPC_CheckChild1Integer, 0,
OPC_CheckType, MVT::i32,
OPC_Scope, 33,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BGEZ), 0|OPFL_Chain,
2, 1, 2,
10,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BGEZ_MM), 0|OPFL_Chain,
2, 1, 2,
0,
33,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BGTZ), 0|OPFL_Chain,
2, 1, 2,
10,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BGTZ_MM), 0|OPFL_Chain,
2, 1, 2,
0,
33,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BLEZ), 0|OPFL_Chain,
2, 1, 2,
10,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BLEZ_MM), 0|OPFL_Chain,
2, 1, 2,
0,
33,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BLTZ), 0|OPFL_Chain,
2, 1, 2,
10,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BLTZ_MM), 0|OPFL_Chain,
2, 1, 2,
0,
63,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BNE), 0|OPFL_Chain,
3, 1, 3, 2,
10,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BnezRxImm16), 0|OPFL_Chain,
2, 1, 2,
14,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BNE_MM), 0|OPFL_Chain,
3, 1, 3, 2,
10,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BNEZC_MMR6), 0|OPFL_Chain,
2, 1, 2,
0,
63,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 1, 3, 2,
10,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BeqzRxImm16), 0|OPFL_Chain,
2, 1, 2,
14,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ_MM), 0|OPFL_Chain,
3, 1, 3, 2,
10,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQZC_MMR6), 0|OPFL_Chain,
2, 1, 2,
0,
0,
37,
OPC_CheckChild1Integer, 2,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BLEZ), 0|OPFL_Chain,
2, 1, 2,
10,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BLEZ_MM), 0|OPFL_Chain,
2, 1, 2,
0,
37,
OPC_CheckChild1Integer, 3,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BGEZ), 0|OPFL_Chain,
2, 1, 2,
10,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BGEZ_MM), 0|OPFL_Chain,
2, 1, 2,
0,
41|128,8,
OPC_RecordChild1,
OPC_Scope, 62|128,4,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 75,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 33,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi), 0,
MVT::i32, 2, 1, 4,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 5, 6, 3,
33,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 1, 4,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 5, 6, 3,
0,
81,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 36,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi), 0,
MVT::i32, 2, 1, 5,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 6, 7, 3,
36,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 1, 5,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 6, 7, 3,
0,
75,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 33,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi_MM), 0,
MVT::i32, 2, 1, 4,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ_MM), 0|OPFL_Chain,
3, 5, 6, 3,
33,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 1, 4,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ_MM), 0|OPFL_Chain,
3, 5, 6, 3,
0,
81,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 36,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi_MM), 0,
MVT::i32, 2, 1, 5,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ_MM), 0|OPFL_Chain,
3, 6, 7, 3,
36,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 1, 5,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ_MM), 0|OPFL_Chain,
3, 6, 7, 3,
0,
67,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 29,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi_MM), 0,
MVT::i32, 2, 1, 4,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQZC_MMR6), 0|OPFL_Chain,
2, 5, 3,
29,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 1, 4,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQZC_MMR6), 0|OPFL_Chain,
2, 5, 3,
0,
73,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 32,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi_MM), 0,
MVT::i32, 2, 1, 5,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQZC_MMR6), 0|OPFL_Chain,
2, 6, 3,
32,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 1, 5,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQZC_MMR6), 0|OPFL_Chain,
2, 6, 3,
0,
27,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BteqzT8CmpiX16), 0|OPFL_Chain,
3, 1, 4, 3,
53,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 22,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BteqzT8SltiX16), 0|OPFL_Chain,
3, 1, 4, 3,
22,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BtnezT8SltiX16), 0|OPFL_Chain,
3, 1, 4, 3,
0,
27,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BtnezT8CmpiX16), 0|OPFL_Chain,
3, 1, 4, 3,
0,
49,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 1, 2, 3,
11,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ_MM), 0|OPFL_Chain,
3, 1, 2, 3,
11,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BteqzT8CmpX16), 0|OPFL_Chain,
3, 1, 2, 3,
0,
49,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BNE), 0|OPFL_Chain,
3, 1, 2, 3,
11,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BNE_MM), 0|OPFL_Chain,
3, 1, 2, 3,
11,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BtnezT8CmpX16), 0|OPFL_Chain,
3, 1, 2, 3,
0,
90,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 22,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::SLT), 0,
MVT::i32, 2, 1, 2,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 4, 5, 3,
22,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::SLT_MM), 0,
MVT::i32, 2, 1, 2,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ_MM), 0|OPFL_Chain,
3, 4, 5, 3,
18,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::SLT_MM), 0,
MVT::i32, 2, 1, 2,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQZC_MMR6), 0|OPFL_Chain,
2, 4, 3,
11,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BteqzT8SltX16), 0|OPFL_Chain,
3, 1, 2, 3,
0,
78,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 22,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 1, 2,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 4, 5, 3,
22,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu_MM), 0,
MVT::i32, 2, 1, 2,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ_MM), 0|OPFL_Chain,
3, 4, 5, 3,
18,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu_MM), 0,
MVT::i32, 2, 1, 2,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQZC_MMR6), 0|OPFL_Chain,
2, 4, 3,
0,
90,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 22,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::SLT), 0,
MVT::i32, 2, 2, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 4, 5, 3,
22,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::SLT_MM), 0,
MVT::i32, 2, 2, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ_MM), 0|OPFL_Chain,
3, 4, 5, 3,
18,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::SLT_MM), 0,
MVT::i32, 2, 2, 1,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQZC_MMR6), 0|OPFL_Chain,
2, 4, 3,
11,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BteqzT8SltX16), 0|OPFL_Chain,
3, 2, 1, 3,
0,
78,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 22,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 2, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 4, 5, 3,
22,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu_MM), 0,
MVT::i32, 2, 2, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ_MM), 0|OPFL_Chain,
3, 4, 5, 3,
18,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu_MM), 0,
MVT::i32, 2, 2, 1,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQZC_MMR6), 0|OPFL_Chain,
2, 4, 3,
0,
22,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BtnezT8SltX16), 0|OPFL_Chain,
3, 2, 1, 3,
22,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BtnezT8SltX16), 0|OPFL_Chain,
3, 1, 2, 3,
0,
0,
31|128,4,
OPC_CheckChild0Type, MVT::i64,
OPC_Scope, 8|128,1,
OPC_CheckChild1Integer, 0,
OPC_CheckType, MVT::i32,
OPC_Scope, 19,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 24,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BGEZ64), 0|OPFL_Chain,
2, 1, 2,
19,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 24,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BGTZ64), 0|OPFL_Chain,
2, 1, 2,
19,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 24,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BLEZ64), 0|OPFL_Chain,
2, 1, 2,
19,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 24,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BLTZ64), 0|OPFL_Chain,
2, 1, 2,
24,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 29,
OPC_EmitMergeInputChains1_0,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo0, TARGET_VAL(Mips::BNE64), 0|OPFL_Chain,
3, 1, 3, 2,
24,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 29,
OPC_EmitMergeInputChains1_0,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ64), 0|OPFL_Chain,
3, 1, 3, 2,
0,
23,
OPC_CheckChild1Integer, 2,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 29,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BLEZ64), 0|OPFL_Chain,
2, 1, 2,
23,
OPC_CheckChild1Integer, 3,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 29,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BGEZ64), 0|OPFL_Chain,
2, 1, 2,
95|128,2,
OPC_RecordChild1,
OPC_Scope, 36|128,1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 75,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 33,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 29,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi64), 0,
MVT::i32, 2, 1, 4,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 5, 6, 3,
33,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 29,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu64), 0,
MVT::i32, 2, 1, 4,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 5, 6, 3,
0,
81,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 36,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 29,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi64), 0,
MVT::i32, 2, 1, 5,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 6, 7, 3,
36,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 29,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu64), 0,
MVT::i32, 2, 1, 5,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 6, 7, 3,
0,
0,
22,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 24,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ64), 0|OPFL_Chain,
3, 1, 2, 3,
22,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 24,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BNE64), 0|OPFL_Chain,
3, 1, 2, 3,
33,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 29,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::SLT64), 0,
MVT::i32, 2, 1, 2,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 4, 5, 3,
33,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 29,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu64), 0,
MVT::i32, 2, 1, 2,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 4, 5, 3,
33,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 29,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::SLT64), 0,
MVT::i32, 2, 2, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 4, 5, 3,
33,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 29,
OPC_EmitMergeInputChains1_0,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu64), 0,
MVT::i32, 2, 2, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BEQ), 0|OPFL_Chain,
3, 4, 5, 3,
0,
0,
0,
0,
90,
OPC_RecordChild1,
OPC_Scope, 62,
OPC_CheckChild1Type, MVT::i32,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BNE), 0|OPFL_Chain,
3, 1, 3, 2,
10,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BnezRxImm16), 0|OPFL_Chain,
2, 1, 2,
14,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BNE_MM), 0|OPFL_Chain,
3, 1, 3, 2,
10,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BNEZC_MMR6), 0|OPFL_Chain,
2, 1, 2,
0,
23,
OPC_CheckChild1Type, MVT::i64,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_CheckPatternPredicate, 29,
OPC_EmitMergeInputChains1_0,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo0, TARGET_VAL(Mips::BNE64), 0|OPFL_Chain,
3, 1, 3, 2,
0,
0,
98|128,53, TARGET_VAL(ISD::SELECT),
OPC_Scope, 53|128,24,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
OPC_RecordChild0,
OPC_Scope, 7|128,17,
OPC_CheckChild0Type, MVT::i32,
OPC_Scope, 49|128,2,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 17|128,1,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_Scope, 20,
OPC_RecordChild1,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELEQZ), 0,
MVT::i32, 2, 1, 0,
20,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELNEZ), 0,
MVT::i32, 2, 1, 0,
20,
OPC_RecordChild1,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELEQZ_MMR6), 0,
MVT::i32, 2, 1, 0,
20,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELNEZ_MMR6), 0,
MVT::i32, 2, 1, 0,
27,
OPC_RecordChild1,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 1, 2,
27,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 1, 2,
0,
17|128,1,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_Scope, 20,
OPC_RecordChild1,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELNEZ), 0,
MVT::i32, 2, 1, 0,
20,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELEQZ), 0,
MVT::i32, 2, 1, 0,
20,
OPC_RecordChild1,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELNEZ_MMR6), 0,
MVT::i32, 2, 1, 0,
20,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELEQZ_MMR6), 0,
MVT::i32, 2, 1, 0,
27,
OPC_RecordChild1,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 1, 2,
27,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 1, 2,
0,
0,
12|128,1,
OPC_CheckChild1Integer, 0,
OPC_CheckType, MVT::i32,
OPC_Scope, 60,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 38, MVT::i32,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 35,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 30,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_MM), 0,
MVT::i32, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SelBeqZ), 0,
MVT::i32, 3, 1, 2, 0,
0,
11, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 1, 0, 2,
0,
72,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 50, MVT::i32,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 35,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_I), 0,
MVT::i32, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 37,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_MM), 0,
MVT::i32, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 30,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_MM), 0,
MVT::i32, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SelBneZ), 0,
MVT::i32, 3, 1, 2, 0,
0,
11, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_I64), 0,
MVT::i64, 3, 1, 0, 2,
0,
0,
67|128,5,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 65,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 28,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 35,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 5, 3,
28,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 35,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 5, 3,
0,
71,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 31,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 35,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 6, 3,
31,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 35,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 6, 3,
0,
36,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 35,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 6, 3,
65,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 28,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 5, 3,
28,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 5, 3,
0,
71,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 31,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 6, 3,
31,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 6, 3,
0,
36,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 6, 3,
65,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 28,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi_MM), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_MM), 0,
MVT::i32, 3, 2, 5, 3,
28,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_MM), 0,
MVT::i32, 3, 2, 5, 3,
0,
71,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 31,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi_MM), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_MM), 0,
MVT::i32, 3, 2, 6, 3,
31,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_MM), 0,
MVT::i32, 3, 2, 6, 3,
0,
36,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::XORi_MM), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_MM), 0,
MVT::i32, 3, 2, 6, 3,
65,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 28,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi_MM), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_MM), 0,
MVT::i32, 3, 2, 5, 3,
28,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_MM), 0,
MVT::i32, 3, 2, 5, 3,
0,
71,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 31,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi_MM), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_MM), 0,
MVT::i32, 3, 2, 6, 3,
31,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_MM), 0,
MVT::i32, 3, 2, 6, 3,
0,
36,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::XORi_MM), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_MM), 0,
MVT::i32, 3, 2, 6, 3,
0,
11|128,1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 63,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_Scope, 26,
OPC_CheckPatternPredicate, 33,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ), 0,
MVT::i32, 2, 1, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ), 0,
MVT::i32, 2, 2, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR), 0,
MVT::i32, 2, 3, 4,
26,
OPC_CheckPatternPredicate, 16,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ_MMR6), 0,
MVT::i32, 2, 1, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ_MMR6), 0,
MVT::i32, 2, 2, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR_MM), 0,
MVT::i32, 2, 3, 4,
0,
63,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_Scope, 26,
OPC_CheckPatternPredicate, 33,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ), 0,
MVT::i32, 2, 1, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ), 0,
MVT::i32, 2, 2, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR), 0,
MVT::i32, 2, 3, 4,
26,
OPC_CheckPatternPredicate, 16,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ_MMR6), 0,
MVT::i32, 2, 1, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ_MMR6), 0,
MVT::i32, 2, 2, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR_MM), 0,
MVT::i32, 2, 3, 4,
0,
0,
7|128,2,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 127,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 59,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 33,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 0, 5,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ), 0,
MVT::i32, 2, 2, 6,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 8,
OPC_EmitNode1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 0, 9,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ), 0,
MVT::i32, 2, 3, 10,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR), 0,
MVT::i32, 2, 7, 11,
59,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 33,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 0, 5,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ), 0,
MVT::i32, 2, 2, 6,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 8,
OPC_EmitNode1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 0, 9,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ), 0,
MVT::i32, 2, 3, 10,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR), 0,
MVT::i32, 2, 7, 11,
0,
127,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 59,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 33,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi), 0,
MVT::i32, 2, 0, 5,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ), 0,
MVT::i32, 2, 2, 6,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 8,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi), 0,
MVT::i32, 2, 0, 9,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ), 0,
MVT::i32, 2, 3, 10,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR), 0,
MVT::i32, 2, 7, 11,
59,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 33,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 0, 5,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ), 0,
MVT::i32, 2, 2, 6,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 8,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 0, 9,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ), 0,
MVT::i32, 2, 3, 10,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR), 0,
MVT::i32, 2, 7, 11,
0,
0,
107,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 47,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 1, 3,
OPC_EmitNode1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 2, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR64), 0,
MVT::i64, 2, 4, 6,
47,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 1, 3,
OPC_EmitNode1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 2, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR64), 0,
MVT::i64, 2, 4, 6,
0,
121|128,3,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 127,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 59,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::XORI_MMR6), 0,
MVT::i32, 2, 0, 5,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ_MMR6), 0,
MVT::i32, 2, 2, 6,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 8,
OPC_EmitNode1, TARGET_VAL(Mips::XORI_MMR6), 0,
MVT::i32, 2, 0, 9,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ_MMR6), 0,
MVT::i32, 2, 3, 10,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR_MM), 0,
MVT::i32, 2, 7, 11,
59,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::XORI_MMR6), 0,
MVT::i32, 2, 0, 5,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ_MMR6), 0,
MVT::i32, 2, 2, 6,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 8,
OPC_EmitNode1, TARGET_VAL(Mips::XORI_MMR6), 0,
MVT::i32, 2, 0, 9,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ_MMR6), 0,
MVT::i32, 2, 3, 10,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR_MM), 0,
MVT::i32, 2, 7, 11,
0,
127,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 59,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi_MM), 0,
MVT::i32, 2, 0, 5,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ_MMR6), 0,
MVT::i32, 2, 2, 6,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 8,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi_MM), 0,
MVT::i32, 2, 0, 9,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ_MMR6), 0,
MVT::i32, 2, 3, 10,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR_MM), 0,
MVT::i32, 2, 7, 11,
59,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 0, 5,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ_MMR6), 0,
MVT::i32, 2, 2, 6,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 8,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 0, 9,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ_MMR6), 0,
MVT::i32, 2, 3, 10,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR_MM), 0,
MVT::i32, 2, 7, 11,
0,
27|128,1,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 73,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 0, 5,
OPC_EmitNode1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 6,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 2, 7,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 9,
OPC_EmitNode1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 0, 10,
OPC_EmitNode1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 11,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 3, 12,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR64), 0,
MVT::i64, 2, 8, 13,
73,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 0, 5,
OPC_EmitNode1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 6,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 2, 7,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 9,
OPC_EmitNode1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 0, 10,
OPC_EmitNode1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 11,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 3, 12,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR64), 0,
MVT::i64, 2, 8, 13,
0,
26,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SelTBtneZSlti), 0,
MVT::i32, 4, 2, 3, 0, 4,
57,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 24,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SelTBteqZCmpi), 0,
MVT::i32, 4, 2, 3, 0, 5,
24,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SelTBtneZCmpi), 0,
MVT::i32, 4, 2, 3, 0, 5,
0,
0,
0,
35|128,7,
OPC_CheckChild0Type, MVT::i64,
OPC_Scope, 107,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 47,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_Scope, 20,
OPC_RecordChild1,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 1, 0,
20,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 1, 0,
0,
47,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_Scope, 20,
OPC_RecordChild1,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 1, 0,
20,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 1, 0,
0,
0,
74,
OPC_CheckChild1Integer, 0,
OPC_CheckType, MVT::i32,
OPC_Scope, 33,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 11, MVT::i32,
OPC_CheckPatternPredicate, 36,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I64_I), 0,
MVT::i32, 3, 1, 0, 2,
11, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I64_I64), 0,
MVT::i64, 3, 1, 0, 2,
0,
33,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 11, MVT::i32,
OPC_CheckPatternPredicate, 36,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I64_I), 0,
MVT::i32, 3, 1, 0, 2,
11, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I64_I64), 0,
MVT::i64, 3, 1, 0, 2,
0,
0,
92|128,2,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 65,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 28,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi64), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 5, 3,
28,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu64), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 5, 3,
0,
71,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 31,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi64), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 6, 3,
31,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu64), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 6, 3,
0,
65,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 28,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi64), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 5, 3,
28,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu64), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 5, 3,
0,
71,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 31,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi64), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 6, 3,
31,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu64), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 6, 3,
0,
64,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 24, MVT::i32,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::XORi64), 0,
MVT::i64, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I64_I), 0,
MVT::i32, 3, 2, 6, 3,
24, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::XORi64), 0,
MVT::i64, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I64_I64), 0,
MVT::i64, 3, 2, 6, 3,
0,
0,
79,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 33,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 1, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 2, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR64), 0,
MVT::i64, 2, 3, 4,
33,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 1, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 2, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR64), 0,
MVT::i64, 2, 3, 4,
0,
56|128,2,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 115,
OPC_CheckPredicate, 23,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 53,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::XORi64), 0,
MVT::i64, 2, 0, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 2, 5,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::XORi64), 0,
MVT::i64, 2, 0, 7,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 3, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR64), 0,
MVT::i64, 2, 6, 9,
53,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::XORi64), 0,
MVT::i64, 2, 0, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 2, 5,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::XORi64), 0,
MVT::i64, 2, 0, 7,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 3, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR64), 0,
MVT::i64, 2, 6, 9,
0,
59|128,1,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 89,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitInteger, MVT::i64, 0,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 5,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi64), 0,
MVT::i32, 2, 0, 6,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
MVT::i64, 3, 4, 7, 8,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 2, 9,
OPC_EmitInteger, MVT::i64, 0,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 12,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi64), 0,
MVT::i32, 2, 0, 13,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
MVT::i64, 3, 11, 14, 15,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 3, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR64), 0,
MVT::i64, 2, 10, 17,
89,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitInteger, MVT::i64, 0,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 5,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu64), 0,
MVT::i32, 2, 0, 6,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
MVT::i64, 3, 4, 7, 8,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 2, 9,
OPC_EmitInteger, MVT::i64, 0,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 12,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu64), 0,
MVT::i32, 2, 0, 13,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
MVT::i64, 3, 11, 14, 15,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 3, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR64), 0,
MVT::i64, 2, 10, 17,
0,
0,
0,
0,
17|128,1,
OPC_RecordChild0,
OPC_CheckChild0Type, MVT::i32,
OPC_Scope, 20,
OPC_RecordChild1,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELNEZ), 0,
MVT::i32, 2, 1, 0,
20,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELEQZ), 0,
MVT::i32, 2, 1, 0,
20,
OPC_RecordChild1,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELNEZ_MMR6), 0,
MVT::i32, 2, 1, 0,
20,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELEQZ_MMR6), 0,
MVT::i32, 2, 1, 0,
27,
OPC_RecordChild1,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 1, 2,
27,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 1, 2,
0,
3|128,7,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
OPC_RecordChild0,
OPC_CheckType, MVT::i32,
OPC_Scope, 69|128,4,
OPC_CheckChild0Type, MVT::i32,
OPC_RecordChild1,
OPC_Scope, 85,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 55, MVT::i32,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 35,
OPC_EmitNode1, TARGET_VAL(Mips::SLT), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 30,
OPC_EmitNode1, TARGET_VAL(Mips::SLT_MM), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_MM), 0,
MVT::i32, 3, 2, 4, 3,
12,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SelTBteqZSlt), 0,
MVT::i32, 4, 2, 3, 0, 1,
0,
19, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::SLT), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 4, 3,
0,
85,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 55, MVT::i32,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 35,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 30,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu_MM), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_MM), 0,
MVT::i32, 3, 2, 4, 3,
12,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SelTBteqZSltu), 0,
MVT::i32, 4, 2, 3, 0, 1,
0,
19, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 4, 3,
0,
85,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 55, MVT::i32,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 35,
OPC_EmitNode1, TARGET_VAL(Mips::SLT), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 30,
OPC_EmitNode1, TARGET_VAL(Mips::SLT_MM), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_MM), 0,
MVT::i32, 3, 2, 4, 3,
12,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SelTBteqZSlt), 0,
MVT::i32, 4, 2, 3, 1, 0,
0,
19, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::SLT), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 4, 3,
0,
85,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 55, MVT::i32,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 35,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 30,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu_MM), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_MM), 0,
MVT::i32, 3, 2, 4, 3,
12,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SelTBteqZSltu), 0,
MVT::i32, 4, 2, 3, 1, 0,
0,
19, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 4, 3,
0,
85,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 55, MVT::i32,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 35,
OPC_EmitNode1, TARGET_VAL(Mips::XOR), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 30,
OPC_EmitNode1, TARGET_VAL(Mips::XOR_MM), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_MM), 0,
MVT::i32, 3, 2, 4, 3,
12,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SelTBteqZCmp), 0,
MVT::i32, 4, 2, 3, 1, 0,
0,
19, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::XOR), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 4, 3,
0,
105,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 75, MVT::i32,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 35,
OPC_EmitNode1, TARGET_VAL(Mips::XOR), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_I), 0,
MVT::i32, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 37,
OPC_EmitNode1, TARGET_VAL(Mips::XOR_MM), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_MM), 0,
MVT::i32, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 30,
OPC_EmitNode1, TARGET_VAL(Mips::XOR_MM), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_MM), 0,
MVT::i32, 3, 2, 4, 3,
12,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SelTBtneZCmp), 0,
MVT::i32, 4, 2, 3, 1, 0,
0,
19, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::XOR), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_I64), 0,
MVT::i64, 3, 2, 4, 3,
0,
19,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SelTBtneZSlt), 0,
MVT::i32, 4, 2, 3, 1, 0,
19,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SelTBtneZSltu), 0,
MVT::i32, 4, 2, 3, 1, 0,
0,
49|128,2,
OPC_CheckChild0Type, MVT::i64,
OPC_RecordChild1,
OPC_Scope, 49,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 19, MVT::i32,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::SLT64), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 4, 3,
19, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::SLT64), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 4, 3,
0,
49,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 19, MVT::i32,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu64), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 4, 3,
19, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu64), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 4, 3,
0,
49,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 19, MVT::i32,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::SLT64), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 4, 3,
19, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::SLT64), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 4, 3,
0,
49,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 19, MVT::i32,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu64), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I), 0,
MVT::i32, 3, 2, 4, 3,
19, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu64), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_I64), 0,
MVT::i64, 3, 2, 4, 3,
0,
49,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 19, MVT::i32,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::XOR64), 0,
MVT::i64, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I64_I), 0,
MVT::i32, 3, 2, 4, 3,
19, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::XOR64), 0,
MVT::i64, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I64_I64), 0,
MVT::i64, 3, 2, 4, 3,
0,
49,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 19, MVT::i32,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::XOR64), 0,
MVT::i64, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I64_I), 0,
MVT::i32, 3, 2, 4, 3,
19, MVT::i64,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::XOR64), 0,
MVT::i64, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I64_I64), 0,
MVT::i64, 3, 2, 4, 3,
0,
0,
0,
5|128,2,
OPC_RecordChild0,
OPC_Scope, 65|128,1,
OPC_CheckChild0Type, MVT::i32,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 116, MVT::i32,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 35,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_I), 0,
MVT::i32, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 37,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_MM), 0,
MVT::i32, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 30,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_MM), 0,
MVT::i32, 3, 1, 0, 2,
26,
OPC_CheckPatternPredicate, 33,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ), 0,
MVT::i32, 2, 1, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ), 0,
MVT::i32, 2, 2, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR), 0,
MVT::i32, 2, 3, 4,
26,
OPC_CheckPatternPredicate, 16,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ_MMR6), 0,
MVT::i32, 2, 1, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ_MMR6), 0,
MVT::i32, 2, 2, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR_MM), 0,
MVT::i32, 2, 3, 4,
11,
OPC_CheckPatternPredicate, 38,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoSELECT_I), 0,
MVT::i32, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SelBneZ), 0,
MVT::i32, 3, 1, 2, 0,
0,
67, MVT::i64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 36,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_I64), 0,
MVT::i64, 3, 1, 0, 2,
40,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 1, 3,
OPC_EmitNode1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 2, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR64), 0,
MVT::i64, 2, 4, 6,
11,
OPC_CheckPatternPredicate, 38,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoSELECT_I64), 0,
MVT::i64, 3, 0, 1, 2,
0,
0,
62,
OPC_CheckChild0Type, MVT::i64,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 11, MVT::i32,
OPC_CheckPatternPredicate, 36,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I64_I), 0,
MVT::i32, 3, 1, 0, 2,
41, MVT::i64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 36,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I64_I64), 0,
MVT::i64, 3, 1, 0, 2,
26,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(Mips::SELNEZ64), 0,
MVT::i64, 2, 1, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SELEQZ64), 0,
MVT::i64, 2, 2, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR64), 0,
MVT::i64, 2, 3, 4,
0,
0,
0,
90|128,17,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
OPC_RecordChild0,
OPC_Scope, 39|128,12,
OPC_CheckChild0Type, MVT::i32,
OPC_Scope, 30|128,1,
OPC_CheckChild1Integer, 0,
OPC_CheckType, MVT::i32,
OPC_Scope, 75,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 26, MVT::f32,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 35,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 30,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S_MM), 0,
MVT::f32, 3, 1, 0, 2,
0,
38, MVT::f64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 39,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32), 0,
MVT::f64, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 40,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 41,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32_MM), 0,
MVT::f64, 3, 1, 0, 2,
0,
0,
75,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 26, MVT::f32,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 35,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_S), 0,
MVT::f32, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 30,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_S_MM), 0,
MVT::f32, 3, 1, 0, 2,
0,
38, MVT::f64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 39,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_D32), 0,
MVT::f64, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 40,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_D64), 0,
MVT::f64, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 41,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_D32_MM), 0,
MVT::f64, 3, 1, 0, 2,
0,
0,
0,
1|128,11,
OPC_RecordChild1,
OPC_Scope, 56|128,5,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 65,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 28,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f32,
OPC_CheckPatternPredicate, 35,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 5, 3,
28,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f32,
OPC_CheckPatternPredicate, 35,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 5, 3,
0,
71,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 31,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f32,
OPC_CheckPatternPredicate, 35,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 6, 3,
31,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f32,
OPC_CheckPatternPredicate, 35,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 6, 3,
0,
65,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 28,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 39,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32), 0,
MVT::f64, 3, 2, 5, 3,
28,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 39,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32), 0,
MVT::f64, 3, 2, 5, 3,
0,
71,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 31,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 39,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32), 0,
MVT::f64, 3, 2, 6, 3,
31,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 39,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32), 0,
MVT::f64, 3, 2, 6, 3,
0,
65,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 28,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 5, 3,
28,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 5, 3,
0,
71,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 31,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 6, 3,
31,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 6, 3,
0,
65,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 28,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f32,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi_MM), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S_MM), 0,
MVT::f32, 3, 2, 5, 3,
28,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f32,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S_MM), 0,
MVT::f32, 3, 2, 5, 3,
0,
71,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 31,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f32,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi_MM), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S_MM), 0,
MVT::f32, 3, 2, 6, 3,
31,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f32,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S_MM), 0,
MVT::f32, 3, 2, 6, 3,
0,
65,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 28,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 41,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi_MM), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32_MM), 0,
MVT::f64, 3, 2, 5, 3,
28,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 41,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32_MM), 0,
MVT::f64, 3, 2, 5, 3,
0,
71,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 31,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 41,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi_MM), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32_MM), 0,
MVT::f64, 3, 2, 6, 3,
31,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 41,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32_MM), 0,
MVT::f64, 3, 2, 6, 3,
0,
0,
117,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 42, MVT::f32,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 35,
OPC_EmitNode1, TARGET_VAL(Mips::SLT), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 30,
OPC_EmitNode1, TARGET_VAL(Mips::SLT_MM), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S_MM), 0,
MVT::f32, 3, 2, 4, 3,
0,
62, MVT::f64,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 39,
OPC_EmitNode1, TARGET_VAL(Mips::SLT), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32), 0,
MVT::f64, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 40,
OPC_EmitNode1, TARGET_VAL(Mips::SLT), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 41,
OPC_EmitNode1, TARGET_VAL(Mips::SLT_MM), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32_MM), 0,
MVT::f64, 3, 2, 4, 3,
0,
0,
117,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 42, MVT::f32,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 35,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 30,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu_MM), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S_MM), 0,
MVT::f32, 3, 2, 4, 3,
0,
62, MVT::f64,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 39,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32), 0,
MVT::f64, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 40,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 41,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu_MM), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32_MM), 0,
MVT::f64, 3, 2, 4, 3,
0,
0,
117,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 42, MVT::f32,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 35,
OPC_EmitNode1, TARGET_VAL(Mips::SLT), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 30,
OPC_EmitNode1, TARGET_VAL(Mips::SLT_MM), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S_MM), 0,
MVT::f32, 3, 2, 4, 3,
0,
62, MVT::f64,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 39,
OPC_EmitNode1, TARGET_VAL(Mips::SLT), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32), 0,
MVT::f64, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 40,
OPC_EmitNode1, TARGET_VAL(Mips::SLT), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 41,
OPC_EmitNode1, TARGET_VAL(Mips::SLT_MM), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32_MM), 0,
MVT::f64, 3, 2, 4, 3,
0,
0,
117,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 42, MVT::f32,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 35,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 30,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu_MM), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S_MM), 0,
MVT::f32, 3, 2, 4, 3,
0,
62, MVT::f64,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 39,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32), 0,
MVT::f64, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 40,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 41,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu_MM), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32_MM), 0,
MVT::f64, 3, 2, 4, 3,
0,
0,
117,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 42, MVT::f32,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 35,
OPC_EmitNode1, TARGET_VAL(Mips::XOR), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 30,
OPC_EmitNode1, TARGET_VAL(Mips::XOR_MM), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S_MM), 0,
MVT::f32, 3, 2, 4, 3,
0,
62, MVT::f64,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 39,
OPC_EmitNode1, TARGET_VAL(Mips::XOR), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32), 0,
MVT::f64, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 40,
OPC_EmitNode1, TARGET_VAL(Mips::XOR), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 41,
OPC_EmitNode1, TARGET_VAL(Mips::XOR_MM), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D32_MM), 0,
MVT::f64, 3, 2, 4, 3,
0,
0,
117,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 42, MVT::f32,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 35,
OPC_EmitNode1, TARGET_VAL(Mips::XOR), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_S), 0,
MVT::f32, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 30,
OPC_EmitNode1, TARGET_VAL(Mips::XOR_MM), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_S_MM), 0,
MVT::f32, 3, 2, 4, 3,
0,
62, MVT::f64,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 39,
OPC_EmitNode1, TARGET_VAL(Mips::XOR), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_D32), 0,
MVT::f64, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 40,
OPC_EmitNode1, TARGET_VAL(Mips::XOR), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_D64), 0,
MVT::f64, 3, 2, 4, 3,
19,
OPC_CheckPatternPredicate, 41,
OPC_EmitNode1, TARGET_VAL(Mips::XOR_MM), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_D32_MM), 0,
MVT::f64, 3, 2, 4, 3,
0,
0,
0,
0,
40|128,5,
OPC_CheckChild0Type, MVT::i64,
OPC_Scope, 74,
OPC_CheckChild1Integer, 0,
OPC_CheckType, MVT::i32,
OPC_Scope, 33,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 11, MVT::f32,
OPC_CheckPatternPredicate, 36,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I64_S), 0,
MVT::f32, 3, 1, 0, 2,
11, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I64_D64), 0,
MVT::f64, 3, 1, 0, 2,
0,
33,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 11, MVT::f32,
OPC_CheckPatternPredicate, 36,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I64_S), 0,
MVT::f32, 3, 1, 0, 2,
11, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I64_D64), 0,
MVT::f64, 3, 1, 0, 2,
0,
0,
87|128,4,
OPC_RecordChild1,
OPC_Scope, 26|128,2,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 65,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 28,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f32,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi64), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 5, 3,
28,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f32,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu64), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 5, 3,
0,
71,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 31,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f32,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi64), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 6, 3,
31,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f32,
OPC_CheckPatternPredicate, 36,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu64), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 6, 3,
0,
65,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 28,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi64), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 5, 3,
28,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu64), 0,
MVT::i32, 2, 0, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 5, 3,
0,
71,
OPC_CheckPredicate, 20,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 31,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi64), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 6, 3,
31,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 2, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu64), 0,
MVT::i32, 2, 0, 5,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 6, 3,
0,
0,
51,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 19, MVT::f32,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::SLT64), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 4, 3,
19, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_EmitNode1, TARGET_VAL(Mips::SLT64), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 4, 3,
0,
51,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 19, MVT::f32,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu64), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 4, 3,
19, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu64), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 4, 3,
0,
51,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 19, MVT::f32,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::SLT64), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 4, 3,
19, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_EmitNode1, TARGET_VAL(Mips::SLT64), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 4, 3,
0,
51,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 19, MVT::f32,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu64), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_S), 0,
MVT::f32, 3, 2, 4, 3,
19, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu64), 0,
MVT::i32, 2, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I_D64), 0,
MVT::f64, 3, 2, 4, 3,
0,
51,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 19, MVT::f32,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::XOR64), 0,
MVT::i64, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I64_S), 0,
MVT::f32, 3, 2, 4, 3,
19, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_EmitNode1, TARGET_VAL(Mips::XOR64), 0,
MVT::i64, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVZ_I64_D64), 0,
MVT::f64, 3, 2, 4, 3,
0,
51,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 19, MVT::f32,
OPC_CheckPatternPredicate, 36,
OPC_EmitNode1, TARGET_VAL(Mips::XOR64), 0,
MVT::i64, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I64_S), 0,
MVT::f32, 3, 2, 4, 3,
19, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_EmitNode1, TARGET_VAL(Mips::XOR64), 0,
MVT::i64, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I64_D64), 0,
MVT::f64, 3, 2, 4, 3,
0,
0,
0,
0,
44|128,1,
OPC_RecordChild0,
OPC_Scope, 6|128,1,
OPC_CheckChild0Type, MVT::i32,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 62, MVT::f32,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 35,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_S), 0,
MVT::f32, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 42,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SEL_S), 0,
MVT::f32, 3, 0, 2, 1,
11,
OPC_CheckPatternPredicate, 30,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_S_MM), 0,
MVT::f32, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SEL_S_MMR6), 0,
MVT::f32, 3, 0, 2, 1,
11,
OPC_CheckPatternPredicate, 38,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoSELECT_S), 0,
MVT::f32, 3, 0, 1, 2,
0,
62, MVT::f64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 39,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_D32), 0,
MVT::f64, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 40,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_D64), 0,
MVT::f64, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 41,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I_D32_MM), 0,
MVT::f64, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 43,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoSELECT_D32), 0,
MVT::f64, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 44,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoSELECT_D64), 0,
MVT::f64, 3, 0, 1, 2,
0,
0,
32,
OPC_CheckChild0Type, MVT::i64,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 11, MVT::f32,
OPC_CheckPatternPredicate, 36,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I64_S), 0,
MVT::f32, 3, 1, 0, 2,
11, MVT::f64,
OPC_CheckPatternPredicate, 40,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVN_I64_D64), 0,
MVT::f64, 3, 1, 0, 2,
0,
0,
0,
55|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_SwitchType , 104, MVT::i32,
OPC_Scope, 16,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
16,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
16,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
16,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 8,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LB_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
16,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 8,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
16,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 8,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 2, 3,
0,
70, MVT::i64,
OPC_Scope, 16,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 29,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 2, 3,
16,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 29,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 2, 3,
16,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 29,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 2, 3,
16,
OPC_CheckPredicate, 24,
OPC_CheckPatternPredicate, 29,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LD), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 2, 3,
0,
0,
7|128,1, TARGET_VAL(ISD::ATOMIC_STORE),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 55,
OPC_CheckChild2Type, MVT::i32,
OPC_Scope, 16,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SB), 0|OPFL_Chain|OPFL_MemRefs,
3, 2, 3, 4,
16,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SH), 0|OPFL_Chain|OPFL_MemRefs,
3, 2, 3, 4,
16,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
3, 2, 3, 4,
0,
72,
OPC_CheckChild2Type, MVT::i64,
OPC_Scope, 16,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 29,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SB64), 0|OPFL_Chain|OPFL_MemRefs,
3, 2, 3, 4,
16,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 29,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SH64), 0|OPFL_Chain|OPFL_MemRefs,
3, 2, 3, 4,
16,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 29,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SW64), 0|OPFL_Chain|OPFL_MemRefs,
3, 2, 3, 4,
16,
OPC_CheckPredicate, 24,
OPC_CheckPatternPredicate, 29,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SD), 0|OPFL_Chain|OPFL_MemRefs,
3, 2, 3, 4,
0,
0,
75, TARGET_VAL(MipsISD::LWL),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 50, MVT::i32,
OPC_Scope, 15,
OPC_CheckPatternPredicate, 11,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 3, 3, 4, 2,
15,
OPC_CheckPatternPredicate, 45,
OPC_CheckComplexPat, /*CP*/12, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWLE_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 3, 3, 4, 2,
15,
OPC_CheckPatternPredicate, 30,
OPC_CheckComplexPat, /*CP*/12, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 3, 3, 4, 2,
0,
15, MVT::i64,
OPC_CheckPatternPredicate, 24,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 3, 3, 4, 2,
0,
75, TARGET_VAL(MipsISD::LWR),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 50, MVT::i32,
OPC_Scope, 15,
OPC_CheckPatternPredicate, 11,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 3, 3, 4, 2,
15,
OPC_CheckPatternPredicate, 45,
OPC_CheckComplexPat, /*CP*/12, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWRE_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 3, 3, 4, 2,
15,
OPC_CheckPatternPredicate, 30,
OPC_CheckComplexPat, /*CP*/12, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR_MM), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 3, 3, 4, 2,
0,
15, MVT::i64,
OPC_CheckPatternPredicate, 24,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 3, 3, 4, 2,
0,
74, TARGET_VAL(MipsISD::SWL),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_Scope, 50,
OPC_CheckChild1Type, MVT::i32,
OPC_RecordChild2,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 11,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 45,
OPC_CheckComplexPat, /*CP*/12, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWLE_MM), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 30,
OPC_CheckComplexPat, /*CP*/12, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL_MM), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
17,
OPC_CheckChild1Type, MVT::i64,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 24,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL64), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
74, TARGET_VAL(MipsISD::SWR),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_Scope, 50,
OPC_CheckChild1Type, MVT::i32,
OPC_RecordChild2,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 11,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 45,
OPC_CheckComplexPat, /*CP*/12, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWRE_MM), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
14,
OPC_CheckPatternPredicate, 30,
OPC_CheckComplexPat, /*CP*/12, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR_MM), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
17,
OPC_CheckChild1Type, MVT::i64,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 24,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR64), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
0,
21, TARGET_VAL(MipsISD::LDL),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 46,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDL), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 3, 3, 4, 2,
21, TARGET_VAL(MipsISD::LDR),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 46,
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDR), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 3, 3, 4, 2,
20, TARGET_VAL(MipsISD::SDL),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_CheckChild1Type, MVT::i64,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 46,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDL), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
20, TARGET_VAL(MipsISD::SDR),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_CheckChild1Type, MVT::i64,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 46,
OPC_CheckComplexPat, /*CP*/1, /*#*/2,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SDR), 0|OPFL_Chain|OPFL_MemRefs,
3, 1, 3, 4,
23|128,11, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
OPC_RecordNode,
OPC_Scope, 69,
OPC_CheckChild1Integer, 70|128,84,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 37,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHLL_S_W), 0|OPFL_Chain,
MVT::i32, 2, 1, 3,
13,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHLL_S_W_MM), 0|OPFL_Chain,
MVT::i32, 2, 1, 3,
0,
11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHLLV_S_W), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHLLV_S_W_MM), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
38,
OPC_CheckChild1Integer, 34|128,84,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_Scope, 13,
OPC_CheckPredicate, 26,
OPC_MoveParent,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::RDDSP), 0|OPFL_Chain,
MVT::i32, 1, 1,
13,
OPC_CheckPredicate, 27,
OPC_MoveParent,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::RDDSP_MM), 0|OPFL_Chain,
MVT::i32, 1, 1,
0,
31,
OPC_CheckChild1Integer, 126|128,75,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDQ_S_W), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDQ_S_W_MM), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 86|128,85,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBQ_S_W), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBQ_S_W_MM), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
28,
OPC_CheckChild1Integer, 112|128,75,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ABSQ_S_W), 0|OPFL_Chain,
MVT::i32, 1, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ABSQ_S_W_MM), 0|OPFL_Chain,
MVT::i32, 1, 1,
0,
31,
OPC_CheckChild1Integer, 34|128,83,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULEQ_S_W_PHL), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULEQ_S_W_PHL_MM), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 36|128,83,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULEQ_S_W_PHR), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULEQ_S_W_PHR_MM), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 74|128,78,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMPGU_EQ_QB), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMPGU_EQ_QB_MM), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 78|128,78,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMPGU_LT_QB), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMPGU_LT_QB_MM), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 76|128,78,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMPGU_LE_QB), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMPGU_LE_QB_MM), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 2|128,82,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWX), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LWX_MM), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 126|128,81,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LHX), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LHX_MM), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 104|128,81,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LBUX), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LBUX_MM), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 94|128,81,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSV), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSV_MM), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 68|128,78,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMPGDU_EQ_QB), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMPGDU_EQ_QB_MMR2), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 72|128,78,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMPGDU_LT_QB), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMPGDU_LT_QB_MMR2), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 70|128,78,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMPGDU_LE_QB), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMPGDU_LE_QB_MMR2), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 48|128,83,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULQ_S_W), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULQ_S_W_MMR2), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 44|128,83,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULQ_RS_W), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULQ_RS_W_MMR2), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
0,
16,
OPC_CheckChild1Integer, 32|128,76,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDSC), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
16,
OPC_CheckChild1Integer, 62|128,76,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDWC), 0|OPFL_Chain,
MVT::i32, 2, 1, 2,
10,
OPC_CheckChild1Integer, 76|128,77,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BPOSGE32_PSEUDO), 0|OPFL_Chain,
MVT::i32, 0,
69,
OPC_CheckChild1Integer, 68|128,84,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 37,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 28,
OPC_MoveParent,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHLL_S_PH), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 3,
13,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHLL_S_PH_MM), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 3,
0,
11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHLLV_S_PH), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHLLV_S_PH_MM), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
0,
52,
OPC_CheckChild1Integer, 64|128,84,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 20,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 28,
OPC_MoveParent,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHLL_PH), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 3,
11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHLLV_PH), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHLLV_PH_MM), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
0,
52,
OPC_CheckChild1Integer, 66|128,84,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 20,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 29,
OPC_MoveParent,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHLL_QB), 0|OPFL_Chain,
MVT::v4i8, 2, 1, 3,
11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHLLV_QB), 0|OPFL_Chain,
MVT::v4i8, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHLLV_QB_MM), 0|OPFL_Chain,
MVT::v4i8, 2, 1, 2,
0,
28,
OPC_CheckChild1Integer, 108|128,75,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ABSQ_S_PH), 0|OPFL_Chain,
MVT::v2i16, 1, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ABSQ_S_PH_MM), 0|OPFL_Chain,
MVT::v2i16, 1, 1,
0,
31,
OPC_CheckChild1Integer, 26|128,84,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECRQ_RS_PH_W), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECRQ_RS_PH_W_MM), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 28|128,84,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECRQU_S_QB_PH), 0|OPFL_Chain,
MVT::v4i8, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECRQU_S_QB_PH_MM), 0|OPFL_Chain,
MVT::v4i8, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 38|128,83,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULEU_S_PH_QBL), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULEU_S_PH_QBL_MM), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 40|128,83,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULEU_S_PH_QBR), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULEU_S_PH_QBR_MM), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 42|128,83,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULQ_RS_PH), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULQ_RS_PH_MM), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 122|128,83,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PICK_QB), 0|OPFL_Chain,
MVT::v4i8, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PICK_QB_MM), 0|OPFL_Chain,
MVT::v4i8, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 120|128,83,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PICK_PH), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PICK_PH_MM), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 34|128,76,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDU_PH), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDU_PH_MMR2), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 38|128,76,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDU_S_PH), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDU_S_PH_MMR2), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 0|128,86,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBU_PH), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBU_PH_MMR2), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 4|128,86,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBU_S_PH), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBU_S_PH_MMR2), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
0,
28,
OPC_CheckChild1Integer, 110|128,75,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ABSQ_S_QB), 0|OPFL_Chain,
MVT::v4i8, 1, 1,
10,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ABSQ_S_QB_MMR2), 0|OPFL_Chain,
MVT::v4i8, 1, 1,
0,
31,
OPC_CheckChild1Integer, 32|128,83,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MUL_S_PH), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MUL_S_PH_MMR2), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 46|128,83,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULQ_S_PH), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULQ_S_PH_MMR2), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
0,
31,
OPC_CheckChild1Integer, 16|128,84,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECR_QB_PH), 0|OPFL_Chain,
MVT::v4i8, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECR_QB_PH_MMR2), 0|OPFL_Chain,
MVT::v4i8, 2, 1, 2,
0,
16,
OPC_CheckChild1Integer, 26|128,83,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MUL_PH), 0|OPFL_Chain,
MVT::v2i16, 2, 1, 2,
16,
OPC_CheckChild1Integer, 122|128,81,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDR_D), 0|OPFL_Chain,
MVT::v2i64, 2, 1, 2,
16,
OPC_CheckChild1Integer, 124|128,81,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LDR_W), 0|OPFL_Chain,
MVT::v4i32, 2, 1, 2,
0,
28|128,40, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
OPC_Scope, 65,
OPC_CheckChild0Integer, 80|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 35,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 28,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRA_R_W), 0,
MVT::i32, 2, 0, 2,
12,
OPC_CheckPatternPredicate, 47,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRA_R_W_MM), 0,
MVT::i32, 2, 0, 2,
0,
10,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRAV_R_W), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRAV_R_W_MM), 0,
MVT::i32, 2, 0, 1,
0,
39,
OPC_CheckChild0Integer, 68|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::APPEND), 0,
MVT::i32, 3, 1, 2, 0,
11,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::APPEND_MMR2), 0,
MVT::i32, 3, 1, 2, 0,
0,
45,
OPC_CheckChild0Integer, 118|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild3,
OPC_SwitchOpcode , 14, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 30,
OPC_MoveParent,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BALIGN), 0,
MVT::i32, 3, 1, 2, 0,
16, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 30,
OPC_MoveParent,
OPC_CheckPatternPredicate, 49,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BALIGN_MMR2), 0,
MVT::i32, 3, 1, 3, 0,
0,
39,
OPC_CheckChild0Integer, 30|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PREPEND), 0,
MVT::i32, 3, 1, 2, 0,
11,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PREPEND_MMR2), 0,
MVT::i32, 3, 1, 2, 0,
0,
29,
OPC_CheckChild0Integer, 0|128,83,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MODSUB), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MODSUB_MM), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild0Integer, 32|128,84,
OPC_RecordChild1,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::RADDU_W_QB), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::RADDU_W_QB_MM), 0,
MVT::i32, 1, 0,
0,
26,
OPC_CheckChild0Integer, 124|128,83,
OPC_RecordChild1,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEQ_W_PHL), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEQ_W_PHL_MM), 0,
MVT::i32, 1, 0,
0,
26,
OPC_CheckChild0Integer, 126|128,83,
OPC_RecordChild1,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEQ_W_PHR), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEQ_W_PHR_MM), 0,
MVT::i32, 1, 0,
0,
26,
OPC_CheckChild0Integer, 40|128,77,
OPC_RecordChild1,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BITREV), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BITREV_MM), 0,
MVT::i32, 1, 0,
0,
29,
OPC_CheckChild0Integer, 6|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDQH_W), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDQH_W_MMR2), 0,
MVT::i32, 2, 0, 1,
0,
29,
OPC_CheckChild0Integer, 4|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDQH_R_W), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDQH_R_W_MMR2), 0,
MVT::i32, 2, 0, 1,
0,
29,
OPC_CheckChild0Integer, 94|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBQH_W), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBQH_W_MMR2), 0,
MVT::i32, 2, 0, 1,
0,
29,
OPC_CheckChild0Integer, 92|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBQH_R_W), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBQH_R_W_MMR2), 0,
MVT::i32, 2, 0, 1,
0,
65,
OPC_CheckChild0Integer, 76|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 35,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 28,
OPC_MoveParent,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 28,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRA_R_PH), 0,
MVT::v2i16, 2, 0, 2,
12,
OPC_CheckPatternPredicate, 47,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRA_R_PH_MM), 0,
MVT::v2i16, 2, 0, 2,
0,
10,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRAV_R_PH), 0,
MVT::v2i16, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRAV_R_PH_MM), 0,
MVT::v2i16, 2, 0, 1,
0,
60,
OPC_CheckChild0Integer, 38|128,84,
OPC_RecordChild1,
OPC_Scope, 33,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 31,
OPC_MoveParent,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitConvertToTarget, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::REPL_QB), 0,
MVT::v4i8, 1, 1,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitConvertToTarget, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::REPL_QB_MM), 0,
MVT::v4i8, 1, 1,
0,
9,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::REPLV_QB), 0,
MVT::v4i8, 1, 0,
9,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::REPLV_QB_MM), 0,
MVT::v4i8, 1, 0,
0,
60,
OPC_CheckChild0Integer, 36|128,84,
OPC_RecordChild1,
OPC_Scope, 33,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 32,
OPC_MoveParent,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitConvertToTarget, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::REPL_PH), 0,
MVT::v2i16, 1, 1,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitConvertToTarget, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::REPL_PH_MM), 0,
MVT::v2i16, 1, 1,
0,
9,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::REPLV_PH), 0,
MVT::v2i16, 1, 0,
9,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::REPLV_PH_MM), 0,
MVT::v2i16, 1, 0,
0,
39,
OPC_CheckChild0Integer, 18|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECR_SRA_PH_W), 0,
MVT::v2i16, 3, 1, 2, 0,
11,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECR_SRA_PH_W_MMR2), 0,
MVT::v2i16, 3, 1, 2, 0,
0,
39,
OPC_CheckChild0Integer, 20|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECR_SRA_R_PH_W), 0,
MVT::v2i16, 3, 1, 2, 0,
11,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECR_SRA_R_PH_W_MMR2), 0,
MVT::v2i16, 3, 1, 2, 0,
0,
65,
OPC_CheckChild0Integer, 78|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 35,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 29,
OPC_MoveParent,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 48,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRA_R_QB), 0,
MVT::v4i8, 2, 0, 2,
12,
OPC_CheckPatternPredicate, 49,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRA_R_QB_MMR2), 0,
MVT::v4i8, 2, 0, 2,
0,
10,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRAV_R_QB), 0,
MVT::v4i8, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRAV_R_QB_MMR2), 0,
MVT::v4i8, 2, 0, 1,
0,
49,
OPC_CheckChild0Integer, 72|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 19,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 28,
OPC_MoveParent,
OPC_CheckPatternPredicate, 28,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRA_PH), 0,
MVT::v2i16, 2, 0, 2,
10,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRAV_PH), 0,
MVT::v2i16, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRAV_PH_MM), 0,
MVT::v2i16, 2, 0, 1,
0,
49,
OPC_CheckChild0Integer, 82|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 19,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 28,
OPC_MoveParent,
OPC_CheckPatternPredicate, 48,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRL_PH), 0,
MVT::v2i16, 2, 0, 2,
10,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRLV_PH), 0,
MVT::v2i16, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRLV_PH_MMR2), 0,
MVT::v2i16, 2, 0, 1,
0,
49,
OPC_CheckChild0Integer, 74|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 19,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 29,
OPC_MoveParent,
OPC_CheckPatternPredicate, 48,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRA_QB), 0,
MVT::v4i8, 2, 0, 2,
10,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRAV_QB), 0,
MVT::v4i8, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRAV_QB_MMR2), 0,
MVT::v4i8, 2, 0, 1,
0,
49,
OPC_CheckChild0Integer, 84|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 19,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 29,
OPC_MoveParent,
OPC_CheckPatternPredicate, 28,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRL_QB), 0,
MVT::v4i8, 2, 0, 2,
10,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRLV_QB), 0,
MVT::v4i8, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRLV_QB_MM), 0,
MVT::v4i8, 2, 0, 1,
0,
22,
OPC_CheckChild0Integer, 40|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 29,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SAT_S_B), 0,
MVT::v16i8, 2, 0, 1,
22,
OPC_CheckChild0Integer, 44|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 28,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SAT_S_H), 0,
MVT::v8i16, 2, 0, 1,
22,
OPC_CheckChild0Integer, 46|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SAT_S_W), 0,
MVT::v4i32, 2, 0, 1,
22,
OPC_CheckChild0Integer, 42|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 33,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SAT_S_D), 0,
MVT::v2i64, 2, 0, 1,
22,
OPC_CheckChild0Integer, 48|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 29,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SAT_U_B), 0,
MVT::v16i8, 2, 0, 1,
22,
OPC_CheckChild0Integer, 52|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 28,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SAT_U_H), 0,
MVT::v8i16, 2, 0, 1,
22,
OPC_CheckChild0Integer, 54|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SAT_U_W), 0,
MVT::v4i32, 2, 0, 1,
22,
OPC_CheckChild0Integer, 50|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 33,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SAT_U_D), 0,
MVT::v2i64, 2, 0, 1,
24,
OPC_CheckChild0Integer, 94|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 28,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLDI_B), 0,
MVT::v16i8, 3, 0, 1, 2,
24,
OPC_CheckChild0Integer, 98|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 29,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLDI_H), 0,
MVT::v8i16, 3, 0, 1, 2,
24,
OPC_CheckChild0Integer, 100|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 30,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLDI_W), 0,
MVT::v4i32, 3, 0, 1, 2,
24,
OPC_CheckChild0Integer, 96|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 34,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLDI_D), 0,
MVT::v2i64, 3, 0, 1, 2,
22,
OPC_CheckChild0Integer, 30|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 29,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRARI_B), 0,
MVT::v16i8, 2, 0, 1,
22,
OPC_CheckChild0Integer, 34|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 28,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRARI_H), 0,
MVT::v8i16, 2, 0, 1,
22,
OPC_CheckChild0Integer, 36|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRARI_W), 0,
MVT::v4i32, 2, 0, 1,
22,
OPC_CheckChild0Integer, 32|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 33,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRARI_D), 0,
MVT::v2i64, 2, 0, 1,
22,
OPC_CheckChild0Integer, 62|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 29,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRLRI_B), 0,
MVT::v16i8, 2, 0, 1,
22,
OPC_CheckChild0Integer, 66|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 28,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRLRI_H), 0,
MVT::v8i16, 2, 0, 1,
22,
OPC_CheckChild0Integer, 68|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRLRI_W), 0,
MVT::v4i32, 2, 0, 1,
22,
OPC_CheckChild0Integer, 64|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 33,
OPC_MoveParent,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRLRI_D), 0,
MVT::v2i64, 2, 0, 1,
29,
OPC_CheckChild0Integer, 40|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDU_S_QB), 0,
MVT::v4i8, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDU_S_QB_MM), 0,
MVT::v4i8, 2, 0, 1,
0,
29,
OPC_CheckChild0Integer, 6|128,86,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBU_S_QB), 0,
MVT::v4i8, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBU_S_QB_MM), 0,
MVT::v4i8, 2, 0, 1,
0,
29,
OPC_CheckChild0Integer, 124|128,75,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDQ_S_PH), 0,
MVT::v2i16, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDQ_S_PH_MM), 0,
MVT::v2i16, 2, 0, 1,
0,
29,
OPC_CheckChild0Integer, 84|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBQ_S_PH), 0,
MVT::v2i16, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBQ_S_PH_MM), 0,
MVT::v2i16, 2, 0, 1,
0,
29,
OPC_CheckChild0Integer, 24|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECRQ_QB_PH), 0,
MVT::v4i8, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECRQ_QB_PH_MM), 0,
MVT::v4i8, 2, 0, 1,
0,
29,
OPC_CheckChild0Integer, 22|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECRQ_PH_W), 0,
MVT::v2i16, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECRQ_PH_W_MM), 0,
MVT::v2i16, 2, 0, 1,
0,
26,
OPC_CheckChild0Integer, 0|128,84,
OPC_RecordChild1,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEQU_PH_QBL), 0,
MVT::v2i16, 1, 0,
9,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEQU_PH_QBL_MM), 0,
MVT::v2i16, 1, 0,
0,
26,
OPC_CheckChild0Integer, 4|128,84,
OPC_RecordChild1,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEQU_PH_QBR), 0,
MVT::v2i16, 1, 0,
9,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEQU_PH_QBR_MM), 0,
MVT::v2i16, 1, 0,
0,
26,
OPC_CheckChild0Integer, 2|128,84,
OPC_RecordChild1,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEQU_PH_QBLA), 0,
MVT::v2i16, 1, 0,
9,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEQU_PH_QBLA_MM), 0,
MVT::v2i16, 1, 0,
0,
26,
OPC_CheckChild0Integer, 6|128,84,
OPC_RecordChild1,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEQU_PH_QBRA), 0,
MVT::v2i16, 1, 0,
9,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEQU_PH_QBRA_MM), 0,
MVT::v2i16, 1, 0,
0,
26,
OPC_CheckChild0Integer, 8|128,84,
OPC_RecordChild1,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEU_PH_QBL), 0,
MVT::v2i16, 1, 0,
9,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEU_PH_QBL_MM), 0,
MVT::v2i16, 1, 0,
0,
26,
OPC_CheckChild0Integer, 12|128,84,
OPC_RecordChild1,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEU_PH_QBR), 0,
MVT::v2i16, 1, 0,
9,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEU_PH_QBR_MM), 0,
MVT::v2i16, 1, 0,
0,
26,
OPC_CheckChild0Integer, 10|128,84,
OPC_RecordChild1,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEU_PH_QBLA), 0,
MVT::v2i16, 1, 0,
9,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEU_PH_QBLA_MM), 0,
MVT::v2i16, 1, 0,
0,
26,
OPC_CheckChild0Integer, 14|128,84,
OPC_RecordChild1,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEU_PH_QBRA), 0,
MVT::v2i16, 1, 0,
9,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PRECEU_PH_QBRA_MM), 0,
MVT::v2i16, 1, 0,
0,
29,
OPC_CheckChild0Integer, 94|128,83,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PACKRL_PH), 0,
MVT::v2i16, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PACKRL_PH_MM), 0,
MVT::v2i16, 2, 0, 1,
0,
29,
OPC_CheckChild0Integer, 42|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDUH_QB), 0,
MVT::v4i8, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDUH_QB_MMR2), 0,
MVT::v4i8, 2, 0, 1,
0,
29,
OPC_CheckChild0Integer, 44|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDUH_R_QB), 0,
MVT::v4i8, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDUH_R_QB_MMR2), 0,
MVT::v4i8, 2, 0, 1,
0,
29,
OPC_CheckChild0Integer, 8|128,86,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBUH_QB), 0,
MVT::v4i8, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBUH_QB_MMR2), 0,
MVT::v4i8, 2, 0, 1,
0,
29,
OPC_CheckChild0Integer, 10|128,86,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBUH_R_QB), 0,
MVT::v4i8, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBUH_R_QB_MMR2), 0,
MVT::v4i8, 2, 0, 1,
0,
29,
OPC_CheckChild0Integer, 0|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDQH_PH), 0,
MVT::v2i16, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDQH_PH_MMR2), 0,
MVT::v2i16, 2, 0, 1,
0,
29,
OPC_CheckChild0Integer, 2|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDQH_R_PH), 0,
MVT::v2i16, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDQH_R_PH_MMR2), 0,
MVT::v2i16, 2, 0, 1,
0,
29,
OPC_CheckChild0Integer, 88|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBQH_PH), 0,
MVT::v2i16, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBQH_PH_MMR2), 0,
MVT::v2i16, 2, 0, 1,
0,
29,
OPC_CheckChild0Integer, 90|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBQH_R_PH), 0,
MVT::v2i16, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBQH_R_PH_MMR2), 0,
MVT::v2i16, 2, 0, 1,
0,
15,
OPC_CheckChild0Integer, 122|128,75,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDQ_PH), 0,
MVT::v2i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 82|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBQ_PH), 0,
MVT::v2i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 36|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDU_QB), 0,
MVT::v4i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 2|128,86,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBU_QB), 0,
MVT::v4i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 114|128,75,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADD_A_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 118|128,75,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADD_A_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 120|128,75,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADD_A_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 116|128,75,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADD_A_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 8|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDS_A_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 12|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDS_A_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 14|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDS_A_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 10|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDS_A_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 16|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDS_S_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 20|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDS_S_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 22|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDS_S_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 18|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDS_S_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 24|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDS_U_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 28|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDS_U_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 30|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDS_U_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 26|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDS_U_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 70|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ASUB_S_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 74|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ASUB_S_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 76|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ASUB_S_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 72|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ASUB_S_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 78|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ASUB_U_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 82|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ASUB_U_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 84|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ASUB_U_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 80|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ASUB_U_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 86|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AVE_S_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 90|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AVE_S_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 92|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AVE_S_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 88|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AVE_S_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 94|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AVE_U_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 98|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AVE_U_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 100|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AVE_U_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 96|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AVE_U_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 102|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AVER_S_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 106|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AVER_S_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 108|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AVER_S_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 104|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AVER_S_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 110|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AVER_U_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 114|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AVER_U_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 116|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AVER_U_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 112|128,76,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AVER_U_D), 0,
MVT::v2i64, 2, 0, 1,
17,
OPC_CheckChild0Integer, 8|128,77,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BINSL_B), 0,
MVT::v16i8, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 12|128,77,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BINSL_H), 0,
MVT::v8i16, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 14|128,77,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BINSL_W), 0,
MVT::v4i32, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 10|128,77,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BINSL_D), 0,
MVT::v2i64, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 24|128,77,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BINSR_B), 0,
MVT::v16i8, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 28|128,77,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BINSR_H), 0,
MVT::v8i16, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 30|128,77,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BINSR_W), 0,
MVT::v4i32, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 26|128,77,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BINSR_D), 0,
MVT::v2i64, 3, 0, 1, 2,
15,
OPC_CheckChild0Integer, 124|128,78,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DOTP_S_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 126|128,78,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DOTP_S_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 122|128,78,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DOTP_S_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 2|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DOTP_U_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 4|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DOTP_U_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 0|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DOTP_U_D), 0,
MVT::v2i64, 2, 0, 1,
17,
OPC_CheckChild0Integer, 10|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPADD_S_H), 0,
MVT::v8i16, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 12|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPADD_S_W), 0,
MVT::v4i32, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 8|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPADD_S_D), 0,
MVT::v2i64, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 16|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPADD_U_H), 0,
MVT::v8i16, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 18|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPADD_U_W), 0,
MVT::v4i32, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 14|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPADD_U_D), 0,
MVT::v2i64, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 50|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSUB_S_H), 0,
MVT::v8i16, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 52|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSUB_S_W), 0,
MVT::v4i32, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 48|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSUB_S_D), 0,
MVT::v2i64, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 56|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSUB_U_H), 0,
MVT::v8i16, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 58|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSUB_U_W), 0,
MVT::v4i32, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 54|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSUB_U_D), 0,
MVT::v2i64, 3, 0, 1, 2,
15,
OPC_CheckChild0Integer, 80|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCAF_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 78|128,79,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCAF_D), 0,
MVT::v2i64, 2, 0, 1,
13,
OPC_CheckChild0Integer, 88|128,79,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCLASS_W), 0,
MVT::v4i32, 1, 0,
13,
OPC_CheckChild0Integer, 86|128,79,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCLASS_D), 0,
MVT::v2i64, 1, 0,
15,
OPC_CheckChild0Integer, 88|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSAF_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 86|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSAF_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 92|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSEQ_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 90|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSEQ_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 96|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSLE_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 94|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSLE_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 100|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSLT_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 98|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSLT_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 104|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSNE_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 102|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSNE_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 108|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSOR_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 106|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSOR_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 120|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSUEQ_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 118|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSUEQ_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 124|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSULE_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 122|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSULE_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 0|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSULT_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 126|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSULT_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 4|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSUN_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 2|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSUN_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 8|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSUNE_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 6|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSUNE_D), 0,
MVT::v2i64, 2, 0, 1,
13,
OPC_CheckChild0Integer, 12|128,81,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FTINT_S_W), 0,
MVT::v4i32, 1, 0,
13,
OPC_CheckChild0Integer, 10|128,81,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FTINT_S_D), 0,
MVT::v2i64, 1, 0,
13,
OPC_CheckChild0Integer, 16|128,81,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FTINT_U_W), 0,
MVT::v4i32, 1, 0,
13,
OPC_CheckChild0Integer, 14|128,81,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FTINT_U_D), 0,
MVT::v2i64, 1, 0,
15,
OPC_CheckChild0Integer, 18|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FTQ_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 20|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FTQ_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 32|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::HADD_S_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 34|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::HADD_S_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 30|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::HADD_S_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 38|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::HADD_U_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 40|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::HADD_U_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 36|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::HADD_U_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 44|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::HSUB_S_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 46|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::HSUB_S_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 42|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::HSUB_S_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 50|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::HSUB_U_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 52|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::HSUB_U_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 48|128,81,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::HSUB_U_D), 0,
MVT::v2i64, 2, 0, 1,
17,
OPC_CheckChild0Integer, 6|128,82,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADD_Q_H), 0,
MVT::v8i16, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 8|128,82,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADD_Q_W), 0,
MVT::v4i32, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 10|128,82,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADDR_Q_H), 0,
MVT::v8i16, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 12|128,82,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADDR_Q_W), 0,
MVT::v4i32, 3, 0, 1, 2,
15,
OPC_CheckChild0Integer, 32|128,82,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAX_A_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 36|128,82,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAX_A_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 38|128,82,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAX_A_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 34|128,82,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAX_A_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 72|128,82,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MIN_A_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 76|128,82,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MIN_A_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 78|128,82,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MIN_A_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 74|128,82,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MIN_A_D), 0,
MVT::v2i64, 2, 0, 1,
17,
OPC_CheckChild0Integer, 6|128,83,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSUB_Q_H), 0,
MVT::v8i16, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 8|128,83,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSUB_Q_W), 0,
MVT::v4i32, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 10|128,83,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSUBR_Q_H), 0,
MVT::v8i16, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 12|128,83,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSUBR_Q_W), 0,
MVT::v4i32, 3, 0, 1, 2,
15,
OPC_CheckChild0Integer, 28|128,83,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MUL_Q_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 30|128,83,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MUL_Q_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 50|128,83,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULR_Q_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 52|128,83,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULR_Q_W), 0,
MVT::v4i32, 2, 0, 1,
13,
OPC_CheckChild0Integer, 70|128,83,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NLOC_B), 0,
MVT::v16i8, 1, 0,
13,
OPC_CheckChild0Integer, 74|128,83,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NLOC_H), 0,
MVT::v8i16, 1, 0,
13,
OPC_CheckChild0Integer, 76|128,83,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NLOC_W), 0,
MVT::v4i32, 1, 0,
13,
OPC_CheckChild0Integer, 72|128,83,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NLOC_D), 0,
MVT::v2i64, 1, 0,
17,
OPC_CheckChild0Integer, 86|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLD_B), 0,
MVT::v16i8, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 90|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLD_H), 0,
MVT::v8i16, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 92|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLD_W), 0,
MVT::v4i32, 3, 0, 1, 2,
17,
OPC_CheckChild0Integer, 88|128,84,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLD_D), 0,
MVT::v2i64, 3, 0, 1, 2,
15,
OPC_CheckChild0Integer, 22|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRAR_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 26|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRAR_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 28|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRAR_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 24|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRAR_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 54|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRLR_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 58|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRLR_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 60|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRLR_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 56|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRLR_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 96|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBS_S_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 100|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBS_S_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 102|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBS_S_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 98|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBS_S_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 104|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBS_U_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 108|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBS_U_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 110|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBS_U_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 106|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBS_U_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 112|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBSUS_U_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 116|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBSUS_U_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 118|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBSUS_U_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 114|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBSUS_U_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 120|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBSUU_S_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild0Integer, 124|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBSUU_S_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 126|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBSUU_S_W), 0,
MVT::v4i32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 122|128,85,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBSUU_S_D), 0,
MVT::v2i64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 2|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FEXDO_H), 0,
MVT::v8f16, 2, 0, 1,
15,
OPC_CheckChild0Integer, 4|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FEXDO_W), 0,
MVT::v4f32, 2, 0, 1,
13,
OPC_CheckChild0Integer, 12|128,80,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FEXUPL_W), 0,
MVT::v4f32, 1, 0,
13,
OPC_CheckChild0Integer, 10|128,80,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FEXUPL_D), 0,
MVT::v2f64, 1, 0,
13,
OPC_CheckChild0Integer, 16|128,80,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FEXUPR_W), 0,
MVT::v4f32, 1, 0,
13,
OPC_CheckChild0Integer, 14|128,80,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FEXUPR_D), 0,
MVT::v2f64, 1, 0,
13,
OPC_CheckChild0Integer, 28|128,80,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FFQL_W), 0,
MVT::v4f32, 1, 0,
13,
OPC_CheckChild0Integer, 26|128,80,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FFQL_D), 0,
MVT::v2f64, 1, 0,
13,
OPC_CheckChild0Integer, 32|128,80,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FFQR_W), 0,
MVT::v4f32, 1, 0,
13,
OPC_CheckChild0Integer, 30|128,80,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FFQR_D), 0,
MVT::v2f64, 1, 0,
15,
OPC_CheckChild0Integer, 56|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMAX_W), 0,
MVT::v4f32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 54|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMAX_D), 0,
MVT::v2f64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 52|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMAX_A_W), 0,
MVT::v4f32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 50|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMAX_A_D), 0,
MVT::v2f64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 64|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMIN_W), 0,
MVT::v4f32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 62|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMIN_D), 0,
MVT::v2f64, 2, 0, 1,
15,
OPC_CheckChild0Integer, 60|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMIN_A_W), 0,
MVT::v4f32, 2, 0, 1,
15,
OPC_CheckChild0Integer, 58|128,80,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMIN_A_D), 0,
MVT::v2f64, 2, 0, 1,
13,
OPC_CheckChild0Integer, 76|128,80,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FRCP_W), 0,
MVT::v4f32, 1, 0,
13,
OPC_CheckChild0Integer, 74|128,80,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FRCP_D), 0,
MVT::v2f64, 1, 0,
13,
OPC_CheckChild0Integer, 84|128,80,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FRSQRT_W), 0,
MVT::v4f32, 1, 0,
13,
OPC_CheckChild0Integer, 82|128,80,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FRSQRT_D), 0,
MVT::v2f64, 1, 0,
0,
3|128,2, TARGET_VAL(ISD::INTRINSIC_VOID),
OPC_RecordNode,
OPC_Scope, 39,
OPC_CheckChild1Integer, 36|128,86,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_Scope, 13,
OPC_CheckPredicate, 26,
OPC_MoveParent,
OPC_CheckPatternPredicate, 51,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::WRDSP), 0|OPFL_Chain,
2, 1, 2,
13,
OPC_CheckPredicate, 27,
OPC_MoveParent,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::WRDSP_MM), 0|OPFL_Chain,
2, 1, 2,
0,
29,
OPC_CheckChild1Integer, 80|128,78,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::CMPU_EQ_QB), 0|OPFL_Chain,
2, 1, 2,
10,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::CMPU_EQ_QB_MM), 0|OPFL_Chain,
2, 1, 2,
0,
29,
OPC_CheckChild1Integer, 84|128,78,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::CMPU_LT_QB), 0|OPFL_Chain,
2, 1, 2,
10,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::CMPU_LT_QB_MM), 0|OPFL_Chain,
2, 1, 2,
0,
29,
OPC_CheckChild1Integer, 82|128,78,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::CMPU_LE_QB), 0|OPFL_Chain,
2, 1, 2,
10,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::CMPU_LE_QB_MM), 0|OPFL_Chain,
2, 1, 2,
0,
29,
OPC_CheckChild1Integer, 62|128,78,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::CMP_EQ_PH), 0|OPFL_Chain,
2, 1, 2,
10,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::CMP_EQ_PH_MM), 0|OPFL_Chain,
2, 1, 2,
0,
29,
OPC_CheckChild1Integer, 66|128,78,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::CMP_LT_PH), 0|OPFL_Chain,
2, 1, 2,
10,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::CMP_LT_PH_MM), 0|OPFL_Chain,
2, 1, 2,
0,
29,
OPC_CheckChild1Integer, 64|128,78,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::CMP_LE_PH), 0|OPFL_Chain,
2, 1, 2,
10,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::CMP_LE_PH_MM), 0|OPFL_Chain,
2, 1, 2,
0,
17,
OPC_CheckChild1Integer, 78|128,85,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_RecordChild4,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::STR_D), 0|OPFL_Chain,
3, 1, 2, 3,
17,
OPC_CheckChild1Integer, 80|128,85,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_RecordChild4,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::STR_W), 0|OPFL_Chain,
3, 1, 2, 3,
0,
39|128,18, TARGET_VAL(ISD::XOR),
OPC_Scope, 60,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::OR),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_CheckChild1Integer, 3,
OPC_SwitchType , 35, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 30,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR_MM), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 24,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR64), 0,
MVT::i64, 2, 0, 1,
0,
126|128,4,
OPC_RecordChild0,
OPC_Scope, 100,
OPC_CheckChild1Integer, 3,
OPC_CheckType, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOT16_MMR6), 0,
MVT::i32, 1, 0,
13,
OPC_CheckPatternPredicate, 7,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR), 0,
MVT::i32, 2, 0, 1,
9,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NotRxRy16), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 30,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOT16_MM), 0,
MVT::i32, 1, 0,
24,
OPC_CheckPatternPredicate, 8,
OPC_Scope, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOT16_MM), 0,
MVT::i32, 1, 0,
11,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR_MM), 0,
MVT::i32, 2, 0, 1,
0,
24,
OPC_CheckPatternPredicate, 16,
OPC_Scope, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOT16_MMR6), 0,
MVT::i32, 1, 0,
11,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
0,
33|128,1,
OPC_RecordChild1,
OPC_Scope, 83,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 17,
OPC_CheckPredicate, 35,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 7,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 0, 2,
58,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_SwitchType , 15, MVT::i64,
OPC_CheckPatternPredicate, 24,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi64), 0,
MVT::i64, 2, 0, 3,
34, MVT::i32,
OPC_Scope, 15,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi_MM), 0,
MVT::i32, 2, 0, 3,
15,
OPC_CheckPatternPredicate, 16,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORI_MMR6), 0,
MVT::i32, 2, 0, 3,
0,
0,
0,
60,
OPC_CheckType, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XOR), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XorRxRxRy16), 0,
MVT::i32, 2, 0, 1,
22,
OPC_CheckPatternPredicate, 30,
OPC_Scope, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XOR16_MM), 0,
MVT::i32, 2, 0, 1,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XOR_MM), 0,
MVT::i32, 2, 0, 1,
0,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XOR_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
12,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 24,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XOR64), 0,
MVT::i64, 2, 0, 1,
0,
113|128,2,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 46|128,1,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_B), 0,
MVT::v16i8, 2, 0, 1,
46|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_B), 0,
MVT::v16i8, 2, 0, 1,
0,
0,
115|128,2,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 47|128,1,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_B), 0,
MVT::v16i8, 2, 1, 0,
47|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_B), 0,
MVT::v16i8, 2, 1, 0,
0,
80|128,1,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 94,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_H), 0,
MVT::v8i16, 2, 0, 1,
94,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_H), 0,
MVT::v8i16, 2, 0, 1,
0,
81|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 95,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_H), 0,
MVT::v8i16, 2, 1, 0,
95,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_H), 0,
MVT::v8i16, 2, 1, 0,
0,
8|128,1,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 58,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_W), 0,
MVT::v4i32, 2, 0, 1,
58,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_W), 0,
MVT::v4i32, 2, 0, 1,
0,
9|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 59,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_W), 0,
MVT::v4i32, 2, 1, 0,
59,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_W), 0,
MVT::v4i32, 2, 1, 0,
0,
89,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 40,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 31,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_D), 0,
MVT::v2i64, 2, 0, 1,
31,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_D), 0,
MVT::v2i64, 2, 0, 1,
0,
90,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 40,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 32,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_D), 0,
MVT::v2i64, 2, 1, 0,
32,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_D), 0,
MVT::v2i64, 2, 1, 0,
0,
35,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 40,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckChild1Type, MVT::v2i64,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_D), 0,
MVT::v2i64, 2, 0, 1,
35,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 40,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckChild1Type, MVT::v2i64,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_D), 0,
MVT::v2i64, 2, 1, 0,
63,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_RecordChild1,
OPC_Scope, 15,
OPC_CheckChild1Type, MVT::v16i8,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild1Type, MVT::v8i16,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild1Type, MVT::v4i32,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_W), 0,
MVT::v4i32, 2, 0, 1,
0,
65,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_RecordChild1,
OPC_Scope, 16,
OPC_CheckChild1Type, MVT::v16i8,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_B), 0,
MVT::v16i8, 2, 1, 0,
16,
OPC_CheckChild1Type, MVT::v8i16,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_H), 0,
MVT::v8i16, 2, 1, 0,
16,
OPC_CheckChild1Type, MVT::v4i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEG_W), 0,
MVT::v4i32, 2, 1, 0,
0,
56|128,1,
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 61, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/13, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEGI_B), 0,
MVT::v16i8, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/14, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORI_B), 0,
MVT::v16i8, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/13, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEGI_B), 0,
MVT::v16i8, 2, 1, 2,
11,
OPC_CheckComplexPat, /*CP*/14, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORI_B), 0,
MVT::v16i8, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XOR_V), 0,
MVT::v16i8, 2, 0, 1,
0,
37, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/13, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEGI_H), 0,
MVT::v8i16, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/13, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEGI_H), 0,
MVT::v8i16, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XOR_V_H_PSEUDO), 0,
MVT::v8i16, 2, 0, 1,
0,
37, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/13, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEGI_W), 0,
MVT::v4i32, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/13, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEGI_W), 0,
MVT::v4i32, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XOR_V_W_PSEUDO), 0,
MVT::v4i32, 2, 0, 1,
0,
37, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/13, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEGI_D), 0,
MVT::v2i64, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/13, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BNEGI_D), 0,
MVT::v2i64, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XOR_V_D_PSEUDO), 0,
MVT::v2i64, 2, 0, 1,
0,
0,
0,
66|128,1, TARGET_VAL(ISD::CTLZ),
OPC_Scope, 73,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
OPC_RecordChild0,
OPC_CheckChild1Integer, 3,
OPC_SwitchType , 35, MVT::i32,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 52,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLO), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 53,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLO_R6), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLO_MM), 0,
MVT::i32, 1, 0,
0,
25, MVT::i64,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 54,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DCLO), 0,
MVT::i64, 1, 0,
9,
OPC_CheckPatternPredicate, 55,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DCLO_R6), 0,
MVT::i64, 1, 0,
0,
0,
117,
OPC_RecordChild0,
OPC_SwitchType , 34, MVT::i32,
OPC_CheckChild0Type, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 52,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLZ), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 53,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLZ_R6), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLZ_MM), 0,
MVT::i32, 1, 0,
0,
24, MVT::i64,
OPC_CheckChild0Type, MVT::i64,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 54,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DCLZ), 0,
MVT::i64, 1, 0,
9,
OPC_CheckPatternPredicate, 55,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DCLZ_R6), 0,
MVT::i64, 1, 0,
0,
11, MVT::v16i8,
OPC_CheckChild0Type, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NLZC_B), 0,
MVT::v16i8, 1, 0,
11, MVT::v8i16,
OPC_CheckChild0Type, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NLZC_H), 0,
MVT::v8i16, 1, 0,
11, MVT::v4i32,
OPC_CheckChild0Type, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NLZC_W), 0,
MVT::v4i32, 1, 0,
11, MVT::v2i64,
OPC_CheckChild0Type, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NLZC_D), 0,
MVT::v2i64, 1, 0,
0,
0,
35|128,1, TARGET_VAL(MipsISD::Ext),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 71,
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 39,
OPC_CheckPredicate, 42,
OPC_MoveParent,
OPC_SwitchType , 15, MVT::i32,
OPC_CheckPatternPredicate, 56,
OPC_EmitConvertToTarget, 1,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::EXT), 0,
MVT::i32, 3, 0, 3, 4,
15, MVT::i64,
OPC_CheckPatternPredicate, 57,
OPC_EmitConvertToTarget, 1,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DEXT), 0,
MVT::i64, 3, 0, 3, 4,
0,
20,
OPC_CheckPredicate, 43,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 57,
OPC_EmitConvertToTarget, 1,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DEXTM), 0,
MVT::i64, 3, 0, 3, 4,
0,
28,
OPC_CheckPredicate, 44,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 42,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 57,
OPC_EmitConvertToTarget, 1,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DEXTU), 0,
MVT::i64, 3, 0, 3, 4,
28,
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 42,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::EXT_MM), 0,
MVT::i32, 3, 0, 3, 4,
24,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_EmitConvertToTarget, 1,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::EXT_MMR6), 0,
MVT::i32, 3, 0, 3, 4,
0,
84|128,18, TARGET_VAL(ISD::AND),
OPC_Scope, 22,
OPC_CheckAndImm, 127|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 31,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BADDu), 0,
MVT::i64, 2, 0, 1,
77|128,4,
OPC_RecordChild0,
OPC_Scope, 73|128,1,
OPC_RecordChild1,
OPC_Scope, 123,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 17,
OPC_CheckPredicate, 35,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 7,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ANDi), 0,
MVT::i32, 2, 0, 2,
20,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 24,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ANDi64), 0,
MVT::i64, 2, 0, 3,
17,
OPC_CheckPredicate, 45,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ANDI16_MM), 0,
MVT::i32, 2, 0, 2,
20,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ANDi_MM), 0,
MVT::i32, 2, 0, 3,
17,
OPC_CheckPredicate, 45,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ANDI16_MMR6), 0,
MVT::i32, 2, 0, 2,
20,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ANDI_MMR6), 0,
MVT::i32, 2, 0, 3,
0,
60,
OPC_CheckType, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AND), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AndRxRxRy16), 0,
MVT::i32, 2, 0, 1,
22,
OPC_CheckPatternPredicate, 30,
OPC_Scope, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AND16_MM), 0,
MVT::i32, 2, 0, 1,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AND_MM), 0,
MVT::i32, 2, 0, 1,
0,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AND_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
12,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 24,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AND64), 0,
MVT::i64, 2, 0, 1,
0,
125|128,2,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 50|128,1,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_B), 0,
MVT::v16i8, 2, 0, 1,
50|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_B), 0,
MVT::v16i8, 2, 0, 1,
0,
0,
127|128,2,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 51|128,1,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_B), 0,
MVT::v16i8, 2, 1, 0,
51|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_B), 0,
MVT::v16i8, 2, 1, 0,
0,
92|128,1,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 98,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_H), 0,
MVT::v8i16, 2, 0, 1,
98,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_H), 0,
MVT::v8i16, 2, 0, 1,
0,
93|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 99,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_H), 0,
MVT::v8i16, 2, 1, 0,
99,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_H), 0,
MVT::v8i16, 2, 1, 0,
0,
20|128,1,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 62,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_W), 0,
MVT::v4i32, 2, 0, 1,
62,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_W), 0,
MVT::v4i32, 2, 0, 1,
0,
21|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 63,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_W), 0,
MVT::v4i32, 2, 1, 0,
63,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_W), 0,
MVT::v4i32, 2, 1, 0,
0,
101,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 40,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 35,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_D), 0,
MVT::v2i64, 2, 0, 1,
35,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_D), 0,
MVT::v2i64, 2, 0, 1,
0,
102,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 40,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 36,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_D), 0,
MVT::v2i64, 2, 1, 0,
36,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_D), 0,
MVT::v2i64, 2, 1, 0,
0,
43,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 40,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckChild1Type, MVT::v2i64,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_D), 0,
MVT::v2i64, 2, 0, 1,
43,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 40,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckChild1Type, MVT::v2i64,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_D), 0,
MVT::v2i64, 2, 1, 0,
79,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_RecordChild1,
OPC_Scope, 19,
OPC_CheckChild1Type, MVT::v16i8,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_B), 0,
MVT::v16i8, 2, 0, 1,
19,
OPC_CheckChild1Type, MVT::v8i16,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_H), 0,
MVT::v8i16, 2, 0, 1,
19,
OPC_CheckChild1Type, MVT::v4i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_W), 0,
MVT::v4i32, 2, 0, 1,
0,
81,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_RecordChild1,
OPC_Scope, 20,
OPC_CheckChild1Type, MVT::v16i8,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_B), 0,
MVT::v16i8, 2, 1, 0,
20,
OPC_CheckChild1Type, MVT::v8i16,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_H), 0,
MVT::v8i16, 2, 1, 0,
20,
OPC_CheckChild1Type, MVT::v4i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckImmAllOnesV,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLR_W), 0,
MVT::v4i32, 2, 1, 0,
0,
56|128,1,
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 61, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/14, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ANDI_B), 0,
MVT::v16i8, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/15, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLRI_B), 0,
MVT::v16i8, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/14, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ANDI_B), 0,
MVT::v16i8, 2, 1, 2,
11,
OPC_CheckComplexPat, /*CP*/15, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLRI_B), 0,
MVT::v16i8, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AND_V), 0,
MVT::v16i8, 2, 0, 1,
0,
37, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/15, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLRI_H), 0,
MVT::v8i16, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/15, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLRI_H), 0,
MVT::v8i16, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AND_V_H_PSEUDO), 0,
MVT::v8i16, 2, 0, 1,
0,
37, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/15, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLRI_W), 0,
MVT::v4i32, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/15, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLRI_W), 0,
MVT::v4i32, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AND_V_W_PSEUDO), 0,
MVT::v4i32, 2, 0, 1,
0,
37, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/15, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLRI_D), 0,
MVT::v2i64, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/15, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BCLRI_D), 0,
MVT::v2i64, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AND_V_D_PSEUDO), 0,
MVT::v2i64, 2, 0, 1,
0,
0,
0,
89, TARGET_VAL(MipsISD::CIns),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 26,
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 58,
OPC_EmitConvertToTarget, 1,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CINS), 0,
MVT::i64, 3, 0, 3, 4,
26,
OPC_CheckPredicate, 44,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 58,
OPC_EmitConvertToTarget, 1,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CINS32), 0,
MVT::i64, 3, 0, 3, 4,
26,
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 58,
OPC_EmitConvertToTarget, 1,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CINS_i32), 0,
MVT::i32, 3, 0, 3, 4,
0,
45|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
OPC_Scope, 125,
OPC_MoveChild0,
OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SETCC),
OPC_RecordChild0,
OPC_CheckChild0Type, MVT::i64,
OPC_RecordChild1,
OPC_Scope, 45,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 46,
OPC_MoveParent,
OPC_Scope, 17,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 31,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SEQi), 0,
MVT::i64, 2, 0, 2,
17,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 31,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SNEi), 0,
MVT::i64, 2, 0, 2,
0,
15,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 31,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SEQ), 0,
MVT::i64, 2, 0, 1,
15,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 31,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SNE), 0,
MVT::i64, 2, 0, 1,
0,
32, TARGET_VAL(ISD::SHL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 25,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 59,
OPC_EmitConvertToTarget, 1,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 4, 3,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CINS64_32), 0,
MVT::i64, 3, 0, 2, 4,
0,
44,
OPC_RecordChild0,
OPC_CheckType, MVT::i64,
OPC_Scope, 17,
OPC_CheckPatternPredicate, 60,
OPC_EmitInteger, MVT::i32, 0,
OPC_EmitInteger, MVT::i32, 64,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DEXT64_32), 0,
MVT::i64, 3, 0, 1, 2,
20,
OPC_CheckPatternPredicate, 29,
OPC_EmitNode1, TARGET_VAL(Mips::DSLL64_32), 0,
MVT::i64, 1, 0,
OPC_EmitInteger, MVT::i32, 64,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DSRL), 0,
MVT::i64, 2, 1, 2,
0,
0,
79|128,15, TARGET_VAL(ISD::ADD),
OPC_Scope, 49,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 47,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_SwitchType , 13, MVT::i32,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LSA), 0,
MVT::i32, 3, 1, 0, 3,
13, MVT::i64,
OPC_CheckPatternPredicate, 61,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DLSA), 0,
MVT::i64, 3, 1, 0, 3,
0,
49,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 47,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_SwitchType , 13, MVT::i32,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LSA), 0,
MVT::i32, 3, 0, 2, 3,
13, MVT::i64,
OPC_CheckPatternPredicate, 61,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DLSA), 0,
MVT::i64, 3, 0, 2, 3,
0,
18|128,5,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_SwitchOpcode , 113|128,2, TARGET_VAL(MipsISD::Lo),
OPC_RecordChild0,
OPC_MoveChild0,
OPC_SwitchOpcode , 67, TARGET_VAL(ISD::TargetGlobalAddress),
OPC_MoveParent,
OPC_MoveParent,
OPC_SwitchType , 35, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AddiuRxRxImmX16), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 0, 1,
0,
24, MVT::i64,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
0,
0,
56, TARGET_VAL(ISD::TargetBlockAddress),
OPC_MoveParent,
OPC_MoveParent,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 0, 1,
0,
24, MVT::i64,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
0,
0,
56, TARGET_VAL(ISD::TargetJumpTable),
OPC_MoveParent,
OPC_MoveParent,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 0, 1,
0,
24, MVT::i64,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
0,
0,
56, TARGET_VAL(ISD::TargetConstantPool),
OPC_MoveParent,
OPC_MoveParent,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 0, 1,
0,
24, MVT::i64,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
0,
0,
56, TARGET_VAL(ISD::TargetGlobalTLSAddress),
OPC_MoveParent,
OPC_MoveParent,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 0, 1,
0,
24, MVT::i64,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
0,
0,
56, TARGET_VAL(ISD::TargetExternalSymbol),
OPC_MoveParent,
OPC_MoveParent,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 0, 1,
0,
24, MVT::i64,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
0,
0,
0,
94, TARGET_VAL(MipsISD::GPRel),
OPC_RecordChild0,
OPC_MoveChild0,
OPC_SwitchOpcode , 42, TARGET_VAL(ISD::TargetGlobalAddress),
OPC_MoveParent,
OPC_MoveParent,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 64,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
0,
42, TARGET_VAL(ISD::TargetConstantPool),
OPC_MoveParent,
OPC_MoveParent,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 64,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
0,
0,
89, TARGET_VAL(MipsISD::Higher),
OPC_RecordChild0,
OPC_MoveChild0,
OPC_SwitchOpcode , 14, TARGET_VAL(ISD::TargetGlobalAddress),
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
14, TARGET_VAL(ISD::TargetBlockAddress),
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
14, TARGET_VAL(ISD::TargetJumpTable),
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
14, TARGET_VAL(ISD::TargetConstantPool),
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
14, TARGET_VAL(ISD::TargetExternalSymbol),
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
0,
89, TARGET_VAL(MipsISD::Hi),
OPC_RecordChild0,
OPC_MoveChild0,
OPC_SwitchOpcode , 14, TARGET_VAL(ISD::TargetGlobalAddress),
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
14, TARGET_VAL(ISD::TargetBlockAddress),
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
14, TARGET_VAL(ISD::TargetJumpTable),
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
14, TARGET_VAL(ISD::TargetConstantPool),
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
14, TARGET_VAL(ISD::TargetExternalSymbol),
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
0,
0,
35|128,5,
OPC_MoveChild0,
OPC_SwitchOpcode , 119|128,2, TARGET_VAL(MipsISD::Lo),
OPC_RecordChild0,
OPC_MoveChild0,
OPC_SwitchOpcode , 68, TARGET_VAL(ISD::TargetGlobalAddress),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_SwitchType , 35, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AddiuRxRxImmX16), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 1, 0,
0,
24, MVT::i64,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
57, TARGET_VAL(ISD::TargetBlockAddress),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 1, 0,
0,
24, MVT::i64,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
57, TARGET_VAL(ISD::TargetJumpTable),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 1, 0,
0,
24, MVT::i64,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
57, TARGET_VAL(ISD::TargetConstantPool),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 1, 0,
0,
24, MVT::i64,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
57, TARGET_VAL(ISD::TargetGlobalTLSAddress),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 1, 0,
0,
24, MVT::i64,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
57, TARGET_VAL(ISD::TargetExternalSymbol),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 1, 0,
0,
24, MVT::i64,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
0,
96, TARGET_VAL(MipsISD::GPRel),
OPC_RecordChild0,
OPC_MoveChild0,
OPC_SwitchOpcode , 43, TARGET_VAL(ISD::TargetGlobalAddress),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 1, 0,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 64,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
43, TARGET_VAL(ISD::TargetConstantPool),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 1, 0,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 64,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
94, TARGET_VAL(MipsISD::Higher),
OPC_RecordChild0,
OPC_MoveChild0,
OPC_SwitchOpcode , 15, TARGET_VAL(ISD::TargetGlobalAddress),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
15, TARGET_VAL(ISD::TargetBlockAddress),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
15, TARGET_VAL(ISD::TargetJumpTable),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
15, TARGET_VAL(ISD::TargetConstantPool),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
15, TARGET_VAL(ISD::TargetExternalSymbol),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
94, TARGET_VAL(MipsISD::Hi),
OPC_RecordChild0,
OPC_MoveChild0,
OPC_SwitchOpcode , 15, TARGET_VAL(ISD::TargetGlobalAddress),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
15, TARGET_VAL(ISD::TargetBlockAddress),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
15, TARGET_VAL(ISD::TargetJumpTable),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
15, TARGET_VAL(ISD::TargetConstantPool),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
15, TARGET_VAL(ISD::TargetExternalSymbol),
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
34|128,3,
OPC_RecordChild0,
OPC_Scope, 95|128,2,
OPC_RecordChild1,
OPC_Scope, 20|128,1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 17,
OPC_CheckPredicate, 48,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 7,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 0, 2,
17,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 25,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 2,
17,
OPC_CheckPredicate, 49,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AddiuRxRxImm16), 0,
MVT::i32, 2, 0, 2,
17,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AddiuRxRxImmX16), 0,
MVT::i32, 2, 0, 2,
17,
OPC_CheckPredicate, 50,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDIUR2_MM), 0,
MVT::i32, 2, 0, 2,
17,
OPC_CheckPredicate, 51,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDIUS5_MM), 0,
MVT::i32, 2, 0, 2,
33,
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 0, 2,
12,
OPC_CheckPatternPredicate, 16,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDIU_MMR6), 0,
MVT::i32, 2, 0, 2,
0,
0,
60,
OPC_CheckType, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDU16_MMR6), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AdduRxRyRz16), 0,
MVT::i32, 2, 0, 1,
22,
OPC_CheckPatternPredicate, 30,
OPC_Scope, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDU16_MM), 0,
MVT::i32, 2, 0, 1,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDu_MM), 0,
MVT::i32, 2, 0, 1,
0,
0,
12,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 25,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDu), 0,
MVT::i64, 2, 0, 1,
30,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/16, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDVI_B), 0,
MVT::v16i8, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/16, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDVI_B), 0,
MVT::v16i8, 2, 1, 2,
0,
30,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/17, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDVI_H), 0,
MVT::v8i16, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/17, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDVI_H), 0,
MVT::v8i16, 2, 1, 2,
0,
30,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/18, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDVI_W), 0,
MVT::v4i32, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/18, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDVI_W), 0,
MVT::v4i32, 2, 1, 2,
0,
30,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/19, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDVI_D), 0,
MVT::v2i64, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/19, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDVI_D), 0,
MVT::v2i64, 2, 1, 2,
0,
0,
61,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_SwitchType , 11, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADDV_B), 0,
MVT::v16i8, 3, 0, 1, 2,
11, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADDV_H), 0,
MVT::v8i16, 3, 0, 1, 2,
11, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADDV_W), 0,
MVT::v4i32, 3, 0, 1, 2,
11, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADDV_D), 0,
MVT::v2i64, 3, 0, 1, 2,
0,
0,
62,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_RecordChild1,
OPC_SwitchType , 11, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADDV_B), 0,
MVT::v16i8, 3, 2, 0, 1,
11, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADDV_H), 0,
MVT::v8i16, 3, 2, 0, 1,
11, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADDV_W), 0,
MVT::v4i32, 3, 2, 0, 1,
11, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADDV_D), 0,
MVT::v2i64, 3, 2, 0, 1,
0,
76,
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 10, MVT::v2i16,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDQ_PH), 0,
MVT::v2i16, 2, 0, 1,
10, MVT::v4i8,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDU_QB), 0,
MVT::v4i8, 2, 0, 1,
10, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDV_B), 0,
MVT::v16i8, 2, 0, 1,
10, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDV_H), 0,
MVT::v8i16, 2, 0, 1,
10, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDV_W), 0,
MVT::v4i32, 2, 0, 1,
10, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDV_D), 0,
MVT::v2i64, 2, 0, 1,
0,
0,
7|128,5, TARGET_VAL(ISD::SIGN_EXTEND),
OPC_Scope, 118|128,4,
OPC_MoveChild0,
OPC_SwitchOpcode , 73, TARGET_VAL(ISD::ADD),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_Scope, 38,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 0, 3,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 2, 4, 5,
29,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitNode1, TARGET_VAL(Mips::ADDu), 0,
MVT::i32, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 2, 3, 4,
0,
77, TARGET_VAL(ISD::SHL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_Scope, 40,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 25,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLL), 0,
MVT::i32, 2, 0, 3,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 2, 4, 5,
31,
OPC_CheckChild1Type, MVT::i32,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SLLV), 0,
MVT::i32, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 2, 3, 4,
0,
77, TARGET_VAL(ISD::SRL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_Scope, 40,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 25,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SRL), 0,
MVT::i32, 2, 0, 3,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 2, 4, 5,
31,
OPC_CheckChild1Type, MVT::i32,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SRLV), 0,
MVT::i32, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 2, 3, 4,
0,
77, TARGET_VAL(ISD::SRA),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_Scope, 40,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 25,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SRA), 0,
MVT::i32, 2, 0, 3,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 2, 4, 5,
31,
OPC_CheckChild1Type, MVT::i32,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SRAV), 0,
MVT::i32, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 2, 3, 4,
0,
31, TARGET_VAL(ISD::SUB),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitNode1, TARGET_VAL(Mips::SUBu), 0,
MVT::i32, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 2, 3, 4,
66, TARGET_VAL(ISD::MUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_Scope, 29,
OPC_CheckPatternPredicate, 65,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitNode2, TARGET_VAL(Mips::MUL), 0,
MVT::i32, MVT::i32, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 2, 3, 5,
28,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitNode1, TARGET_VAL(Mips::MUL_R6), 0,
MVT::i32, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 2, 3, 4,
0,
29, TARGET_VAL(MipsISD::MFHI),
OPC_RecordChild0,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoMFHI), 0,
MVT::i32, 1, 0,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 1, 2, 3,
29, TARGET_VAL(MipsISD::MFLO),
OPC_RecordChild0,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoMFLO), 0,
MVT::i32, 1, 0,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 1, 2, 3,
33, TARGET_VAL(ISD::SDIV),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitNode1, TARGET_VAL(Mips::DIV), 0,
MVT::i32, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 2, 3, 4,
33, TARGET_VAL(ISD::UDIV),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitNode1, TARGET_VAL(Mips::DIVU), 0,
MVT::i32, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 2, 3, 4,
33, TARGET_VAL(ISD::SREM),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitNode1, TARGET_VAL(Mips::MOD), 0,
MVT::i32, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 2, 3, 4,
33, TARGET_VAL(ISD::UREM),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 34,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitNode1, TARGET_VAL(Mips::MODU), 0,
MVT::i32, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 2, 3, 4,
0,
12,
OPC_RecordChild0,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL64_32), 0,
MVT::i64, 1, 0,
0,
21, TARGET_VAL(ISD::CALLSEQ_START),
OPC_RecordNode,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_MoveParent,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
2, 1, 2,
22, TARGET_VAL(ISD::CALLSEQ_END),
OPC_RecordNode,
OPC_CaptureGlueInput,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_MoveParent,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
2, 1, 2,
64, TARGET_VAL(ISD::FrameIndex),
OPC_RecordNode,
OPC_SwitchType , 44, MVT::i32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 7,
OPC_CheckComplexPat, /*CP*/1, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LEA_ADDiu), 0,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPatternPredicate, 15,
OPC_CheckComplexPat, /*CP*/4, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AddiuRxRyOffMemX16), 0,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPatternPredicate, 8,
OPC_CheckComplexPat, /*CP*/1, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LEA_ADDiu_MM), 0,
MVT::i32, 2, 1, 2,
0,
13, MVT::i64,
OPC_CheckPatternPredicate, 66,
OPC_CheckComplexPat, /*CP*/1, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LEA_ADDiu64), 0,
MVT::i64, 2, 1, 2,
0,
32, TARGET_VAL(MipsISD::Ins),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_MoveParent,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_MoveParent,
OPC_RecordChild3,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_EmitConvertToTarget, 1,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INS_MMR6), 0,
MVT::i32, 4, 0, 4, 5, 3,
53|128,26, TARGET_VAL(ISD::SETCC),
OPC_RecordChild0,
OPC_Scope, 82|128,7,
OPC_CheckChild0Type, MVT::i32,
OPC_Scope, 86,
OPC_CheckChild1Integer, 0,
OPC_CheckType, MVT::i32,
OPC_Scope, 46,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 7,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 0, 1,
13,
OPC_CheckPatternPredicate, 8,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 0, 1,
13,
OPC_CheckPatternPredicate, 15,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SltiuCCRxImmX16), 0,
MVT::i32, 2, 0, 1,
0,
32,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 7,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 1, 0,
13,
OPC_CheckPatternPredicate, 8,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTu_MM), 0,
MVT::i32, 2, 1, 0,
0,
0,
41,
OPC_CheckChild1Integer, 3|128,0|128,4,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_EmitInteger, MVT::i32, 1|128,0|128,4,
OPC_EmitNode1, TARGET_VAL(Mips::SltiCCRxImmX16), 0,
MVT::i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 2,
OPC_EmitNode1, TARGET_VAL(Mips::LiRxImmX16), 0,
MVT::i32, 1, 3,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XorRxRxRy16), 0,
MVT::i32, 2, 2, 4,
75|128,6,
OPC_RecordChild1,
OPC_Scope, 77|128,1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 43,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 7,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTi), 0,
MVT::i32, 2, 0, 2,
12,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTi_MM), 0,
MVT::i32, 2, 0, 2,
12,
OPC_CheckPatternPredicate, 15,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SltiCCRxImmX16), 0,
MVT::i32, 2, 0, 2,
0,
43,
OPC_CheckChild2CondCode, ISD::SETULT,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 7,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 0, 2,
12,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 0, 2,
12,
OPC_CheckPatternPredicate, 15,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SltiuCCRxImmX16), 0,
MVT::i32, 2, 0, 2,
0,
52,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_Scope, 23,
OPC_CheckPatternPredicate, 7,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi), 0,
MVT::i32, 2, 0, 2,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 3, 4,
23,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi_MM), 0,
MVT::i32, 2, 0, 2,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi_MM), 0,
MVT::i32, 2, 3, 4,
0,
52,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_Scope, 23,
OPC_CheckPatternPredicate, 7,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 0, 2,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 3, 4,
23,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 0, 2,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi_MM), 0,
MVT::i32, 2, 3, 4,
0,
0,
39,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_CheckType, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLT), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLT_MM), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SltCCRxRy16), 0,
MVT::i32, 2, 0, 1,
0,
39,
OPC_CheckChild2CondCode, ISD::SETULT,
OPC_CheckType, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTu_MM), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SltuCCRxRy16), 0,
MVT::i32, 2, 0, 1,
0,
39,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_CheckType, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLT), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLT_MM), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SltCCRxRy16), 0,
MVT::i32, 2, 1, 0,
0,
39,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_CheckType, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTu_MM), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SltuCCRxRy16), 0,
MVT::i32, 2, 1, 0,
0,
72,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckType, MVT::i32,
OPC_Scope, 21,
OPC_CheckPatternPredicate, 7,
OPC_EmitNode1, TARGET_VAL(Mips::XOR), 0,
MVT::i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTiu), 0,
MVT::i32, 2, 2, 3,
21,
OPC_CheckPatternPredicate, 8,
OPC_EmitNode1, TARGET_VAL(Mips::XOR_MM), 0,
MVT::i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTiu_MM), 0,
MVT::i32, 2, 2, 3,
21,
OPC_CheckPatternPredicate, 15,
OPC_EmitNode1, TARGET_VAL(Mips::XorRxRxRy16), 0,
MVT::i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SltiuCCRxImmX16), 0,
MVT::i32, 2, 2, 3,
0,
79,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_CheckType, MVT::i32,
OPC_Scope, 21,
OPC_CheckPatternPredicate, 7,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitNode1, TARGET_VAL(Mips::XOR), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 2, 3,
21,
OPC_CheckPatternPredicate, 8,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitNode1, TARGET_VAL(Mips::XOR_MM), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTu_MM), 0,
MVT::i32, 2, 2, 3,
28,
OPC_CheckPatternPredicate, 15,
OPC_EmitInteger, MVT::i32, 0,
OPC_EmitNode1, TARGET_VAL(Mips::LiRxImmX16), 0,
MVT::i32, 1, 2,
OPC_EmitNode1, TARGET_VAL(Mips::XorRxRxRy16), 0,
MVT::i32, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SltuCCRxRy16), 0,
MVT::i32, 2, 3, 4,
0,
79,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_CheckType, MVT::i32,
OPC_Scope, 21,
OPC_CheckPatternPredicate, 7,
OPC_EmitNode1, TARGET_VAL(Mips::SLT), 0,
MVT::i32, 2, 1, 0,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 2, 3,
21,
OPC_CheckPatternPredicate, 8,
OPC_EmitNode1, TARGET_VAL(Mips::SLT_MM), 0,
MVT::i32, 2, 1, 0,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi_MM), 0,
MVT::i32, 2, 2, 3,
28,
OPC_CheckPatternPredicate, 15,
OPC_EmitNode1, TARGET_VAL(Mips::SltCCRxRy16), 0,
MVT::i32, 2, 1, 0,
OPC_EmitInteger, MVT::i32, 2,
OPC_EmitNode1, TARGET_VAL(Mips::LiRxImm16), 0,
MVT::i32, 1, 3,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XorRxRxRy16), 0,
MVT::i32, 2, 2, 4,
0,
79,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_CheckType, MVT::i32,
OPC_Scope, 21,
OPC_CheckPatternPredicate, 7,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 1, 0,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 2, 3,
21,
OPC_CheckPatternPredicate, 8,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu_MM), 0,
MVT::i32, 2, 1, 0,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi_MM), 0,
MVT::i32, 2, 2, 3,
28,
OPC_CheckPatternPredicate, 15,
OPC_EmitNode1, TARGET_VAL(Mips::SltuCCRxRy16), 0,
MVT::i32, 2, 1, 0,
OPC_EmitInteger, MVT::i32, 2,
OPC_EmitNode1, TARGET_VAL(Mips::LiRxImmX16), 0,
MVT::i32, 1, 3,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XorRxRxRy16), 0,
MVT::i32, 2, 2, 4,
0,
79,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_CheckType, MVT::i32,
OPC_Scope, 21,
OPC_CheckPatternPredicate, 7,
OPC_EmitNode1, TARGET_VAL(Mips::SLT), 0,
MVT::i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 2, 3,
21,
OPC_CheckPatternPredicate, 8,
OPC_EmitNode1, TARGET_VAL(Mips::SLT_MM), 0,
MVT::i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi_MM), 0,
MVT::i32, 2, 2, 3,
28,
OPC_CheckPatternPredicate, 15,
OPC_EmitNode1, TARGET_VAL(Mips::SltCCRxRy16), 0,
MVT::i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 2,
OPC_EmitNode1, TARGET_VAL(Mips::LiRxImmX16), 0,
MVT::i32, 1, 3,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XorRxRxRy16), 0,
MVT::i32, 2, 2, 4,
0,
79,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_CheckType, MVT::i32,
OPC_Scope, 21,
OPC_CheckPatternPredicate, 7,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu), 0,
MVT::i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 2, 3,
21,
OPC_CheckPatternPredicate, 8,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu_MM), 0,
MVT::i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi_MM), 0,
MVT::i32, 2, 2, 3,
28,
OPC_CheckPatternPredicate, 15,
OPC_EmitNode1, TARGET_VAL(Mips::SltuCCRxRy16), 0,
MVT::i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 2,
OPC_EmitNode1, TARGET_VAL(Mips::LiRxImmX16), 0,
MVT::i32, 1, 3,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XorRxRxRy16), 0,
MVT::i32, 2, 2, 4,
0,
0,
0,
104|128,2,
OPC_CheckChild0Type, MVT::i64,
OPC_Scope, 39,
OPC_CheckChild1Integer, 0,
OPC_CheckType, MVT::i32,
OPC_Scope, 15,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckPatternPredicate, 67,
OPC_EmitInteger, MVT::i64, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTiu64), 0,
MVT::i32, 2, 0, 1,
16,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_CheckPatternPredicate, 67,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTu64), 0,
MVT::i32, 2, 1, 0,
0,
58|128,2,
OPC_RecordChild1,
OPC_Scope, 93,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 14,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_CheckPatternPredicate, 24,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTi64), 0,
MVT::i32, 2, 0, 2,
14,
OPC_CheckChild2CondCode, ISD::SETULT,
OPC_CheckPatternPredicate, 24,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTiu64), 0,
MVT::i32, 2, 0, 2,
25,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_CheckPatternPredicate, 67,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTi64), 0,
MVT::i32, 2, 0, 2,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 3, 4,
25,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_CheckPatternPredicate, 67,
OPC_EmitConvertToTarget, 1,
OPC_EmitNode1, TARGET_VAL(Mips::SLTiu64), 0,
MVT::i32, 2, 0, 2,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 3, 4,
0,
14,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 24,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLT64), 0,
MVT::i32, 2, 0, 1,
14,
OPC_CheckChild2CondCode, ISD::SETULT,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 24,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTu64), 0,
MVT::i32, 2, 0, 1,
14,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 67,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLT64), 0,
MVT::i32, 2, 1, 0,
14,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 67,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTu64), 0,
MVT::i32, 2, 1, 0,
25,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 67,
OPC_EmitNode1, TARGET_VAL(Mips::XOR64), 0,
MVT::i64, 2, 0, 1,
OPC_EmitInteger, MVT::i64, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTiu64), 0,
MVT::i32, 2, 2, 3,
26,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 67,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_EmitNode1, TARGET_VAL(Mips::XOR64), 0,
MVT::i64, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLTu64), 0,
MVT::i32, 2, 2, 3,
25,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 67,
OPC_EmitNode1, TARGET_VAL(Mips::SLT64), 0,
MVT::i32, 2, 1, 0,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 2, 3,
25,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 67,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu64), 0,
MVT::i32, 2, 1, 0,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 2, 3,
25,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 67,
OPC_EmitNode1, TARGET_VAL(Mips::SLT64), 0,
MVT::i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 2, 3,
25,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 67,
OPC_EmitNode1, TARGET_VAL(Mips::SLTu64), 0,
MVT::i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORi), 0,
MVT::i32, 2, 2, 3,
0,
0,
15|128,4,
OPC_CheckChild0Type, MVT::f32,
OPC_RecordChild1,
OPC_CheckType, MVT::i32,
OPC_Scope, 26,
OPC_CheckChild2CondCode, ISD::SETUO,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 42,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_UN_S), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_UN_S_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETOEQ,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 42,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_EQ_S), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_EQ_S_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETUEQ,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 42,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_UEQ_S), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_UEQ_S_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETOLT,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 42,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LT_S), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LT_S_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETULT,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 42,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_ULT_S), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_ULT_S_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETOLE,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 42,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LE_S), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LE_S_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 42,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_ULE_S), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_ULE_S_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_EQ_S), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_EQ_S_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LE_S), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LE_S_MMR6), 0,
MVT::i32, 2, 1, 0,
0,
26,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LT_S), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LT_S_MMR6), 0,
MVT::i32, 2, 1, 0,
0,
26,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LT_S), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LT_S_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LE_S), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LE_S_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
48,
OPC_CheckChild2CondCode, ISD::SETONE,
OPC_Scope, 21,
OPC_CheckPatternPredicate, 33,
OPC_EmitNode1, TARGET_VAL(Mips::CMP_UEQ_S), 0,
MVT::i32, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR), 0,
MVT::i32, 2, 2, 3,
21,
OPC_CheckPatternPredicate, 16,
OPC_EmitNode1, TARGET_VAL(Mips::CMP_UEQ_S_MMR6), 0,
MVT::i32, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR_MMR6), 0,
MVT::i32, 2, 2, 3,
0,
48,
OPC_CheckChild2CondCode, ISD::SETO,
OPC_Scope, 21,
OPC_CheckPatternPredicate, 33,
OPC_EmitNode1, TARGET_VAL(Mips::CMP_UN_S), 0,
MVT::i32, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR), 0,
MVT::i32, 2, 2, 3,
21,
OPC_CheckPatternPredicate, 16,
OPC_EmitNode1, TARGET_VAL(Mips::CMP_UN_S_MMR6), 0,
MVT::i32, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR_MMR6), 0,
MVT::i32, 2, 2, 3,
0,
48,
OPC_CheckChild2CondCode, ISD::SETUNE,
OPC_Scope, 21,
OPC_CheckPatternPredicate, 33,
OPC_EmitNode1, TARGET_VAL(Mips::CMP_EQ_S), 0,
MVT::i32, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR), 0,
MVT::i32, 2, 2, 3,
21,
OPC_CheckPatternPredicate, 16,
OPC_EmitNode1, TARGET_VAL(Mips::CMP_EQ_S_MMR6), 0,
MVT::i32, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR_MMR6), 0,
MVT::i32, 2, 2, 3,
0,
48,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_Scope, 21,
OPC_CheckPatternPredicate, 33,
OPC_EmitNode1, TARGET_VAL(Mips::CMP_EQ_S), 0,
MVT::i32, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR), 0,
MVT::i32, 2, 2, 3,
21,
OPC_CheckPatternPredicate, 16,
OPC_EmitNode1, TARGET_VAL(Mips::CMP_EQ_S_MMR6), 0,
MVT::i32, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR_MMR6), 0,
MVT::i32, 2, 2, 3,
0,
0,
15|128,4,
OPC_CheckChild0Type, MVT::f64,
OPC_RecordChild1,
OPC_CheckType, MVT::i32,
OPC_Scope, 26,
OPC_CheckChild2CondCode, ISD::SETUO,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 42,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_UN_D), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_UN_D_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETOEQ,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 42,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_EQ_D), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_EQ_D_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETUEQ,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 42,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_UEQ_D), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_UEQ_D_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETOLT,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 42,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LT_D), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LT_D_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETULT,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 42,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_ULT_D), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_ULT_D_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETOLE,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 42,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LE_D), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LE_D_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 42,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_ULE_D), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_ULE_D_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_EQ_D), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_EQ_D_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LE_D), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LE_D_MMR6), 0,
MVT::i32, 2, 1, 0,
0,
26,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LT_D), 0,
MVT::i32, 2, 1, 0,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LT_D_MMR6), 0,
MVT::i32, 2, 1, 0,
0,
26,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LT_D), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LT_D_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
26,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LE_D), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CMP_LE_D_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
48,
OPC_CheckChild2CondCode, ISD::SETONE,
OPC_Scope, 21,
OPC_CheckPatternPredicate, 33,
OPC_EmitNode1, TARGET_VAL(Mips::CMP_UEQ_D), 0,
MVT::i32, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR), 0,
MVT::i32, 2, 2, 3,
21,
OPC_CheckPatternPredicate, 16,
OPC_EmitNode1, TARGET_VAL(Mips::CMP_UEQ_D_MMR6), 0,
MVT::i32, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR_MMR6), 0,
MVT::i32, 2, 2, 3,
0,
48,
OPC_CheckChild2CondCode, ISD::SETO,
OPC_Scope, 21,
OPC_CheckPatternPredicate, 33,
OPC_EmitNode1, TARGET_VAL(Mips::CMP_UN_D), 0,
MVT::i32, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR), 0,
MVT::i32, 2, 2, 3,
21,
OPC_CheckPatternPredicate, 16,
OPC_EmitNode1, TARGET_VAL(Mips::CMP_UN_D_MMR6), 0,
MVT::i32, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR_MMR6), 0,
MVT::i32, 2, 2, 3,
0,
48,
OPC_CheckChild2CondCode, ISD::SETUNE,
OPC_Scope, 21,
OPC_CheckPatternPredicate, 33,
OPC_EmitNode1, TARGET_VAL(Mips::CMP_EQ_D), 0,
MVT::i32, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR), 0,
MVT::i32, 2, 2, 3,
21,
OPC_CheckPatternPredicate, 16,
OPC_EmitNode1, TARGET_VAL(Mips::CMP_EQ_D_MMR6), 0,
MVT::i32, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR_MMR6), 0,
MVT::i32, 2, 2, 3,
0,
48,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_Scope, 21,
OPC_CheckPatternPredicate, 33,
OPC_EmitNode1, TARGET_VAL(Mips::CMP_EQ_D), 0,
MVT::i32, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR), 0,
MVT::i32, 2, 2, 3,
21,
OPC_CheckPatternPredicate, 16,
OPC_EmitNode1, TARGET_VAL(Mips::CMP_EQ_D_MMR6), 0,
MVT::i32, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR_MMR6), 0,
MVT::i32, 2, 2, 3,
0,
0,
19|128,1,
OPC_CheckChild0Type, MVT::v16i8,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_Scope, 27,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/20, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CEQI_B), 0,
MVT::v16i8, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CEQ_B), 0,
MVT::v16i8, 2, 0, 1,
0,
27,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/20, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLEI_S_B), 0,
MVT::v16i8, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLE_S_B), 0,
MVT::v16i8, 2, 0, 1,
0,
27,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/16, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLEI_U_B), 0,
MVT::v16i8, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLE_U_B), 0,
MVT::v16i8, 2, 0, 1,
0,
27,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/20, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLTI_S_B), 0,
MVT::v16i8, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLT_S_B), 0,
MVT::v16i8, 2, 0, 1,
0,
27,
OPC_CheckChild2CondCode, ISD::SETULT,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/16, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLTI_U_B), 0,
MVT::v16i8, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLT_U_B), 0,
MVT::v16i8, 2, 0, 1,
0,
0,
19|128,1,
OPC_CheckChild0Type, MVT::v8i16,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_Scope, 27,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/21, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CEQI_H), 0,
MVT::v8i16, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CEQ_H), 0,
MVT::v8i16, 2, 0, 1,
0,
27,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/21, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLEI_S_H), 0,
MVT::v8i16, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLE_S_H), 0,
MVT::v8i16, 2, 0, 1,
0,
27,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/17, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLEI_U_H), 0,
MVT::v8i16, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLE_U_H), 0,
MVT::v8i16, 2, 0, 1,
0,
27,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/21, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLTI_S_H), 0,
MVT::v8i16, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLT_S_H), 0,
MVT::v8i16, 2, 0, 1,
0,
27,
OPC_CheckChild2CondCode, ISD::SETULT,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/17, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLTI_U_H), 0,
MVT::v8i16, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLT_U_H), 0,
MVT::v8i16, 2, 0, 1,
0,
0,
19|128,1,
OPC_CheckChild0Type, MVT::v4i32,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_Scope, 27,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/22, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CEQI_W), 0,
MVT::v4i32, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CEQ_W), 0,
MVT::v4i32, 2, 0, 1,
0,
27,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/22, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLEI_S_W), 0,
MVT::v4i32, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLE_S_W), 0,
MVT::v4i32, 2, 0, 1,
0,
27,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/18, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLEI_U_W), 0,
MVT::v4i32, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLE_U_W), 0,
MVT::v4i32, 2, 0, 1,
0,
27,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/22, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLTI_S_W), 0,
MVT::v4i32, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLT_S_W), 0,
MVT::v4i32, 2, 0, 1,
0,
27,
OPC_CheckChild2CondCode, ISD::SETULT,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/18, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLTI_U_W), 0,
MVT::v4i32, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLT_U_W), 0,
MVT::v4i32, 2, 0, 1,
0,
0,
19|128,1,
OPC_CheckChild0Type, MVT::v2i64,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_Scope, 27,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/23, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CEQI_D), 0,
MVT::v2i64, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CEQ_D), 0,
MVT::v2i64, 2, 0, 1,
0,
27,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/23, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLEI_S_D), 0,
MVT::v2i64, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLE_S_D), 0,
MVT::v2i64, 2, 0, 1,
0,
27,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/19, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLEI_U_D), 0,
MVT::v2i64, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLE_U_D), 0,
MVT::v2i64, 2, 0, 1,
0,
27,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/23, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLTI_S_D), 0,
MVT::v2i64, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLT_S_D), 0,
MVT::v2i64, 2, 0, 1,
0,
27,
OPC_CheckChild2CondCode, ISD::SETULT,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/19, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLTI_U_D), 0,
MVT::v2i64, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CLT_U_D), 0,
MVT::v2i64, 2, 0, 1,
0,
0,
61|128,1,
OPC_CheckChild0Type, MVT::v4f32,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_Scope, 12,
OPC_CheckChild2CondCode, ISD::SETOEQ,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCEQ_W), 0,
MVT::v4i32, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETOLE,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCLE_W), 0,
MVT::v4i32, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETOLT,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCLT_W), 0,
MVT::v4i32, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETONE,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCNE_W), 0,
MVT::v4i32, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETO,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCOR_W), 0,
MVT::v4i32, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETUEQ,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCUEQ_W), 0,
MVT::v4i32, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCULE_W), 0,
MVT::v4i32, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETULT,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCULT_W), 0,
MVT::v4i32, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETUO,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCUN_W), 0,
MVT::v4i32, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETUNE,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCUNE_W), 0,
MVT::v4i32, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCEQ_W), 0,
MVT::v4i32, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCLE_W), 0,
MVT::v4i32, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCLT_W), 0,
MVT::v4i32, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCNE_W), 0,
MVT::v4i32, 2, 0, 1,
0,
61|128,1,
OPC_CheckChild0Type, MVT::v2f64,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_Scope, 12,
OPC_CheckChild2CondCode, ISD::SETOEQ,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCEQ_D), 0,
MVT::v2i64, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETOLE,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCLE_D), 0,
MVT::v2i64, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETOLT,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCLT_D), 0,
MVT::v2i64, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETONE,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCNE_D), 0,
MVT::v2i64, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETO,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCOR_D), 0,
MVT::v2i64, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETUEQ,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCUEQ_D), 0,
MVT::v2i64, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCULE_D), 0,
MVT::v2i64, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETULT,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCULT_D), 0,
MVT::v2i64, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETUO,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCUN_D), 0,
MVT::v2i64, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETUNE,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCUNE_D), 0,
MVT::v2i64, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCEQ_D), 0,
MVT::v2i64, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCLE_D), 0,
MVT::v2i64, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCLT_D), 0,
MVT::v2i64, 2, 0, 1,
12,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCNE_D), 0,
MVT::v2i64, 2, 0, 1,
0,
0,
76, TARGET_VAL(MipsISD::FPBrcond),
OPC_RecordNode,
OPC_CaptureGlueInput,
OPC_Scope, 35,
OPC_CheckChild1Integer, 0,
OPC_CheckChild1Type, MVT::i32,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 69,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1F), 0|OPFL_Chain|OPFL_GlueInput,
2, 1, 2,
10,
OPC_CheckPatternPredicate, 10,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1F_MM), 0|OPFL_Chain|OPFL_GlueInput,
2, 1, 2,
0,
35,
OPC_CheckChild1Integer, 2,
OPC_CheckChild1Type, MVT::i32,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 69,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1T), 0|OPFL_Chain|OPFL_GlueInput,
2, 1, 2,
10,
OPC_CheckPatternPredicate, 10,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1T_MM), 0|OPFL_Chain|OPFL_GlueInput,
2, 1, 2,
0,
0,
41|128,2, TARGET_VAL(ISD::SUB),
OPC_Scope, 14,
OPC_CheckChild0Integer, 0,
OPC_RecordChild1,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NegRxRy16), 0,
MVT::i32, 1, 0,
22|128,2,
OPC_RecordChild0,
OPC_Scope, 7|128,1,
OPC_RecordChild1,
OPC_SwitchType , 58, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBU16_MMR6), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SubuRxRyRz16), 0,
MVT::i32, 2, 0, 1,
22,
OPC_CheckPatternPredicate, 30,
OPC_Scope, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBU16_MM), 0,
MVT::i32, 2, 0, 1,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBu_MM), 0,
MVT::i32, 2, 0, 1,
0,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 25,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DSUBu), 0,
MVT::i64, 2, 0, 1,
13, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/16, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBVI_B), 0,
MVT::v16i8, 2, 0, 2,
13, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/17, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBVI_H), 0,
MVT::v8i16, 2, 0, 2,
13, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/18, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBVI_W), 0,
MVT::v4i32, 2, 0, 2,
13, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/19, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBVI_D), 0,
MVT::v2i64, 2, 0, 2,
0,
61,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_SwitchType , 11, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSUBV_B), 0,
MVT::v16i8, 3, 0, 1, 2,
11, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSUBV_H), 0,
MVT::v8i16, 3, 0, 1, 2,
11, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSUBV_W), 0,
MVT::v4i32, 3, 0, 1, 2,
11, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSUBV_D), 0,
MVT::v2i64, 3, 0, 1, 2,
0,
75,
OPC_RecordChild1,
OPC_SwitchType , 10, MVT::v2i16,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBQ_PH), 0,
MVT::v2i16, 2, 0, 1,
10, MVT::v4i8,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBU_QB), 0,
MVT::v4i8, 2, 0, 1,
10, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBV_B), 0,
MVT::v16i8, 2, 0, 1,
10, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBV_H), 0,
MVT::v8i16, 2, 0, 1,
10, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBV_W), 0,
MVT::v4i32, 2, 0, 1,
10, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBV_D), 0,
MVT::v2i64, 2, 0, 1,
0,
0,
0,
7|128,17, TARGET_VAL(ISD::OR),
OPC_Scope, 27|128,4,
OPC_RecordChild0,
OPC_Scope, 35|128,1,
OPC_RecordChild1,
OPC_Scope, 85,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 20,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ORI_MMR6), 0,
MVT::i32, 2, 0, 3,
17,
OPC_CheckPredicate, 35,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 7,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ORi), 0,
MVT::i32, 2, 0, 2,
39,
OPC_CheckPredicate, 21,
OPC_MoveParent,
OPC_SwitchType , 15, MVT::i64,
OPC_CheckPatternPredicate, 24,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ORi64), 0,
MVT::i64, 2, 0, 3,
15, MVT::i32,
OPC_CheckPatternPredicate, 30,
OPC_EmitConvertToTarget, 1,
OPC_EmitNodeXForm, 3, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ORi_MM), 0,
MVT::i32, 2, 0, 3,
0,
0,
60,
OPC_CheckType, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OrRxRxRy16), 0,
MVT::i32, 2, 0, 1,
22,
OPC_CheckPatternPredicate, 30,
OPC_Scope, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR16_MM), 0,
MVT::i32, 2, 0, 1,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR_MM), 0,
MVT::i32, 2, 0, 1,
0,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
12,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 24,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR64), 0,
MVT::i64, 2, 0, 1,
0,
113|128,2,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 46|128,1,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_B), 0,
MVT::v16i8, 2, 0, 1,
46|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_B), 0,
MVT::v16i8, 2, 0, 1,
0,
0,
115|128,2,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 47|128,1,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_B), 0,
MVT::v16i8, 2, 1, 0,
47|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_B), 0,
MVT::v16i8, 2, 1, 0,
0,
80|128,1,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 94,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_H), 0,
MVT::v8i16, 2, 0, 1,
94,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_H), 0,
MVT::v8i16, 2, 0, 1,
0,
81|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 95,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_H), 0,
MVT::v8i16, 2, 1, 0,
95,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_H), 0,
MVT::v8i16, 2, 1, 0,
0,
8|128,1,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 58,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_W), 0,
MVT::v4i32, 2, 0, 1,
58,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_W), 0,
MVT::v4i32, 2, 0, 1,
0,
9|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 59,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_W), 0,
MVT::v4i32, 2, 1, 0,
59,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_W), 0,
MVT::v4i32, 2, 1, 0,
0,
89,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 40,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 31,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_D), 0,
MVT::v2i64, 2, 0, 1,
31,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_D), 0,
MVT::v2i64, 2, 0, 1,
0,
90,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 40,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 32,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_D), 0,
MVT::v2i64, 2, 1, 0,
32,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_D), 0,
MVT::v2i64, 2, 1, 0,
0,
35,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 40,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckChild1Type, MVT::v2i64,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_D), 0,
MVT::v2i64, 2, 0, 1,
35,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 40,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckChild1Type, MVT::v2i64,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_D), 0,
MVT::v2i64, 2, 1, 0,
63,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_RecordChild1,
OPC_Scope, 15,
OPC_CheckChild1Type, MVT::v16i8,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_B), 0,
MVT::v16i8, 2, 0, 1,
15,
OPC_CheckChild1Type, MVT::v8i16,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_H), 0,
MVT::v8i16, 2, 0, 1,
15,
OPC_CheckChild1Type, MVT::v4i32,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_W), 0,
MVT::v4i32, 2, 0, 1,
0,
65,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckPredicate, 36,
OPC_MoveParent,
OPC_RecordChild1,
OPC_Scope, 16,
OPC_CheckChild1Type, MVT::v16i8,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_B), 0,
MVT::v16i8, 2, 1, 0,
16,
OPC_CheckChild1Type, MVT::v8i16,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_H), 0,
MVT::v8i16, 2, 1, 0,
16,
OPC_CheckChild1Type, MVT::v4i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSET_W), 0,
MVT::v4i32, 2, 1, 0,
0,
56|128,1,
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 61, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/13, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSETI_B), 0,
MVT::v16i8, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/14, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ORI_B), 0,
MVT::v16i8, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/13, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSETI_B), 0,
MVT::v16i8, 2, 1, 2,
11,
OPC_CheckComplexPat, /*CP*/14, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ORI_B), 0,
MVT::v16i8, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR_V), 0,
MVT::v16i8, 2, 0, 1,
0,
37, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/13, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSETI_H), 0,
MVT::v8i16, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/13, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSETI_H), 0,
MVT::v8i16, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR_V_H_PSEUDO), 0,
MVT::v8i16, 2, 0, 1,
0,
37, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/13, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSETI_W), 0,
MVT::v4i32, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/13, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSETI_W), 0,
MVT::v4i32, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR_V_W_PSEUDO), 0,
MVT::v4i32, 2, 0, 1,
0,
37, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/13, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSETI_D), 0,
MVT::v2i64, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/13, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSETI_D), 0,
MVT::v2i64, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::OR_V_D_PSEUDO), 0,
MVT::v2i64, 2, 0, 1,
0,
0,
0,
10|128,8, TARGET_VAL(ISD::SHL),
OPC_RecordChild0,
OPC_Scope, 99,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckType, MVT::i32,
OPC_Scope, 17,
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 7,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL), 0,
MVT::i32, 2, 0, 2,
17,
OPC_CheckPredicate, 33,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 25,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DSLL), 0,
MVT::i64, 2, 0, 2,
17,
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SllX16), 0,
MVT::i32, 2, 0, 2,
17,
OPC_CheckPredicate, 52,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL16_MM), 0,
MVT::i32, 2, 0, 2,
17,
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL_MM), 0,
MVT::i32, 2, 0, 2,
0,
31,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
OPC_RecordChild0,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 1, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DSLLV), 0,
MVT::i64, 2, 0, 3,
54,
OPC_RecordChild1,
OPC_CheckChild1Type, MVT::i32,
OPC_SwitchType , 35, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLLV), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SllvRxRy16), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLLV_MM), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 25,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DSLLV), 0,
MVT::i64, 2, 0, 1,
0,
82|128,5,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 45|128,1,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL_B), 0,
MVT::v16i8, 2, 0, 1,
45|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL_B), 0,
MVT::v16i8, 2, 0, 1,
93,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL_H), 0,
MVT::v8i16, 2, 0, 1,
93,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL_H), 0,
MVT::v8i16, 2, 0, 1,
57,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL_W), 0,
MVT::v4i32, 2, 0, 1,
57,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL_W), 0,
MVT::v4i32, 2, 0, 1,
30,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL_D), 0,
MVT::v2i64, 2, 0, 1,
30,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL_D), 0,
MVT::v2i64, 2, 0, 1,
0,
119,
OPC_RecordChild1,
OPC_SwitchType , 27, MVT::v16i8,
OPC_CheckChild1Type, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/24, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLLI_B), 0,
MVT::v16i8, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL_B), 0,
MVT::v16i8, 2, 0, 1,
0,
27, MVT::v8i16,
OPC_CheckChild1Type, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/25, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLLI_H), 0,
MVT::v8i16, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL_H), 0,
MVT::v8i16, 2, 0, 1,
0,
27, MVT::v4i32,
OPC_CheckChild1Type, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/18, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLLI_W), 0,
MVT::v4i32, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL_W), 0,
MVT::v4i32, 2, 0, 1,
0,
27, MVT::v2i64,
OPC_CheckChild1Type, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/26, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLLI_D), 0,
MVT::v2i64, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL_D), 0,
MVT::v2i64, 2, 0, 1,
0,
0,
0,
10|128,8, TARGET_VAL(ISD::SRL),
OPC_RecordChild0,
OPC_Scope, 99,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckType, MVT::i32,
OPC_Scope, 17,
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 7,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL), 0,
MVT::i32, 2, 0, 2,
17,
OPC_CheckPredicate, 33,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 25,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DSRL), 0,
MVT::i64, 2, 0, 2,
17,
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SrlX16), 0,
MVT::i32, 2, 0, 2,
17,
OPC_CheckPredicate, 52,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL16_MM), 0,
MVT::i32, 2, 0, 2,
17,
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL_MM), 0,
MVT::i32, 2, 0, 2,
0,
31,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
OPC_RecordChild0,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 1, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DSRLV), 0,
MVT::i64, 2, 0, 3,
54,
OPC_RecordChild1,
OPC_CheckChild1Type, MVT::i32,
OPC_SwitchType , 35, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRLV), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SrlvRxRy16), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRLV_MM), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 25,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DSRLV), 0,
MVT::i64, 2, 0, 1,
0,
82|128,5,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 45|128,1,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL_B), 0,
MVT::v16i8, 2, 0, 1,
45|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL_B), 0,
MVT::v16i8, 2, 0, 1,
93,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL_H), 0,
MVT::v8i16, 2, 0, 1,
93,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL_H), 0,
MVT::v8i16, 2, 0, 1,
57,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL_W), 0,
MVT::v4i32, 2, 0, 1,
57,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL_W), 0,
MVT::v4i32, 2, 0, 1,
30,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL_D), 0,
MVT::v2i64, 2, 0, 1,
30,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL_D), 0,
MVT::v2i64, 2, 0, 1,
0,
119,
OPC_RecordChild1,
OPC_SwitchType , 27, MVT::v16i8,
OPC_CheckChild1Type, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/24, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRLI_B), 0,
MVT::v16i8, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL_B), 0,
MVT::v16i8, 2, 0, 1,
0,
27, MVT::v8i16,
OPC_CheckChild1Type, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/25, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRLI_H), 0,
MVT::v8i16, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL_H), 0,
MVT::v8i16, 2, 0, 1,
0,
27, MVT::v4i32,
OPC_CheckChild1Type, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/18, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRLI_W), 0,
MVT::v4i32, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL_W), 0,
MVT::v4i32, 2, 0, 1,
0,
27, MVT::v2i64,
OPC_CheckChild1Type, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/26, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRLI_D), 0,
MVT::v2i64, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL_D), 0,
MVT::v2i64, 2, 0, 1,
0,
0,
0,
118|128,7, TARGET_VAL(ISD::SRA),
OPC_RecordChild0,
OPC_Scope, 79,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckType, MVT::i32,
OPC_Scope, 17,
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 7,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA), 0,
MVT::i32, 2, 0, 2,
17,
OPC_CheckPredicate, 33,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 25,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DSRA), 0,
MVT::i64, 2, 0, 2,
33,
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 15,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SraX16), 0,
MVT::i32, 2, 0, 2,
12,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA_MM), 0,
MVT::i32, 2, 0, 2,
0,
0,
31,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
OPC_RecordChild0,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 1, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DSRAV), 0,
MVT::i64, 2, 0, 3,
54,
OPC_RecordChild1,
OPC_CheckChild1Type, MVT::i32,
OPC_SwitchType , 35, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRAV), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SravRxRy16), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRAV_MM), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 25,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DSRAV), 0,
MVT::i64, 2, 0, 1,
0,
82|128,5,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_Scope, 45|128,1,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA_B), 0,
MVT::v16i8, 2, 0, 1,
45|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 8,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 37,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA_B), 0,
MVT::v16i8, 2, 0, 1,
93,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA_H), 0,
MVT::v8i16, 2, 0, 1,
93,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild4,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 38,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA_H), 0,
MVT::v8i16, 2, 0, 1,
57,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA_W), 0,
MVT::v4i32, 2, 0, 1,
57,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 39,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA_W), 0,
MVT::v4i32, 2, 0, 1,
30,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA_D), 0,
MVT::v2i64, 2, 0, 1,
30,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckPredicate, 41,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA_D), 0,
MVT::v2i64, 2, 0, 1,
0,
119,
OPC_RecordChild1,
OPC_SwitchType , 27, MVT::v16i8,
OPC_CheckChild1Type, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/24, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRAI_B), 0,
MVT::v16i8, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA_B), 0,
MVT::v16i8, 2, 0, 1,
0,
27, MVT::v8i16,
OPC_CheckChild1Type, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/25, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRAI_H), 0,
MVT::v8i16, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA_H), 0,
MVT::v8i16, 2, 0, 1,
0,
27, MVT::v4i32,
OPC_CheckChild1Type, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/18, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRAI_W), 0,
MVT::v4i32, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA_W), 0,
MVT::v4i32, 2, 0, 1,
0,
27, MVT::v2i64,
OPC_CheckChild1Type, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/26, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRAI_D), 0,
MVT::v2i64, 2, 0, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA_D), 0,
MVT::v2i64, 2, 0, 1,
0,
0,
0,
15|128,1, TARGET_VAL(ISD::ROTR),
OPC_RecordChild0,
OPC_Scope, 63,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckType, MVT::i32,
OPC_Scope, 17,
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 56,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ROTR), 0,
MVT::i32, 2, 0, 2,
17,
OPC_CheckPredicate, 33,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 57,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DROTR), 0,
MVT::i64, 2, 0, 2,
17,
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ROTR_MM), 0,
MVT::i32, 2, 0, 2,
0,
31,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
OPC_RecordChild0,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 1, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DROTRV), 0,
MVT::i64, 2, 0, 3,
43,
OPC_RecordChild1,
OPC_CheckChild1Type, MVT::i32,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 56,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ROTRV), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ROTRV_MM), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 57,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DROTRV), 0,
MVT::i64, 2, 0, 1,
0,
0,
78, TARGET_VAL(MipsISD::Sync),
OPC_RecordNode,
OPC_Scope, 19,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_CheckPatternPredicate, 70,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SYNC), 0|OPFL_Chain,
1, 2,
19,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckPatternPredicate, 71,
OPC_EmitMergeInputChains1_0,
OPC_EmitInteger, MVT::i32, 0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SYNC), 0|OPFL_Chain,
1, 1,
34,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 8,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SYNC_MM), 0|OPFL_Chain,
1, 2,
11,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo0, TARGET_VAL(Mips::SYNC_MMR6), 0|OPFL_Chain,
1, 2,
0,
0,
82, TARGET_VAL(ISD::ADDC),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_Scope, 37,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 19,
OPC_MoveParent,
OPC_SwitchType , 12, MVT::i32,
OPC_CheckPatternPredicate, 72,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0|OPFL_GlueOutput,
MVT::i32, 2, 0, 2,
12, MVT::i64,
OPC_CheckPatternPredicate, 73,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0|OPFL_GlueOutput,
MVT::i64, 2, 0, 2,
0,
26,
OPC_CheckType, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 72,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDu), 0|OPFL_GlueOutput,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDSC), 0|OPFL_GlueOutput,
MVT::i32, 2, 0, 1,
0,
12,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 73,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDu), 0|OPFL_GlueOutput,
MVT::i64, 2, 0, 1,
0,
76, TARGET_VAL(ISD::TRUNCATE),
OPC_Scope, 45,
OPC_MoveChild0,
OPC_SwitchOpcode , 19, TARGET_VAL(ISD::AssertZext),
OPC_RecordChild0,
OPC_CheckPredicate, 53,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 29,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 0, 1,
17, TARGET_VAL(ISD::AssertSext),
OPC_RecordChild0,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 29,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 0, 1,
0,
27,
OPC_RecordChild0,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 29,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL), 0,
MVT::i32, 2, 2, 3,
0,
66, TARGET_VAL(MipsISD::SHILO),
OPC_RecordChild0,
OPC_Scope, 36,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 54,
OPC_MoveParent,
OPC_RecordChild1,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 28,
OPC_EmitConvertToTarget, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHILO), 0,
MVT::Untyped, 2, 2, 1,
12,
OPC_CheckPatternPredicate, 47,
OPC_EmitConvertToTarget, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHILO_MM), 0,
MVT::Untyped, 2, 2, 1,
0,
25,
OPC_RecordChild1,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHILOV), 0,
MVT::Untyped, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHILOV_MM), 0,
MVT::Untyped, 2, 0, 1,
0,
0,
39, TARGET_VAL(MipsISD::EXTP),
OPC_RecordNode,
OPC_RecordChild1,
OPC_Scope, 21,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::EXTP), 0|OPFL_Chain,
MVT::i32, 2, 2, 3,
12,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::EXTPV), 0|OPFL_Chain,
MVT::i32, 2, 2, 1,
0,
39, TARGET_VAL(MipsISD::EXTPDP),
OPC_RecordNode,
OPC_RecordChild1,
OPC_Scope, 21,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::EXTPDP), 0|OPFL_Chain,
MVT::i32, 2, 2, 3,
12,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::EXTPDPV), 0|OPFL_Chain,
MVT::i32, 2, 2, 1,
0,
39, TARGET_VAL(MipsISD::EXTR_W),
OPC_RecordNode,
OPC_RecordChild1,
OPC_Scope, 21,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::EXTR_W), 0|OPFL_Chain,
MVT::i32, 2, 2, 3,
12,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::EXTRV_W), 0|OPFL_Chain,
MVT::i32, 2, 2, 1,
0,
39, TARGET_VAL(MipsISD::EXTR_R_W),
OPC_RecordNode,
OPC_RecordChild1,
OPC_Scope, 21,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::EXTR_R_W), 0|OPFL_Chain,
MVT::i32, 2, 2, 3,
12,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::EXTRV_R_W), 0|OPFL_Chain,
MVT::i32, 2, 2, 1,
0,
39, TARGET_VAL(MipsISD::EXTR_RS_W),
OPC_RecordNode,
OPC_RecordChild1,
OPC_Scope, 21,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::EXTR_RS_W), 0|OPFL_Chain,
MVT::i32, 2, 2, 3,
12,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::EXTRV_RS_W), 0|OPFL_Chain,
MVT::i32, 2, 2, 1,
0,
39, TARGET_VAL(MipsISD::EXTR_S_H),
OPC_RecordNode,
OPC_RecordChild1,
OPC_Scope, 21,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 25,
OPC_MoveParent,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::EXTR_S_H), 0|OPFL_Chain,
MVT::i32, 2, 2, 3,
12,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::EXTRV_S_H), 0|OPFL_Chain,
MVT::i32, 2, 2, 1,
0,
83|128,4, TARGET_VAL(MipsISD::VEXTRACT_SEXT_ELT),
OPC_RecordChild0,
OPC_Scope, 29|128,1,
OPC_CheckChild0Type, MVT::v16i8,
OPC_RecordChild1,
OPC_Scope, 25,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 28,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i8,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::COPY_S_B), 0,
MVT::i32, 2, 0, 2,
51,
OPC_CheckChild1Type, MVT::i32,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i8,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 27,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_B), 0,
MVT::v16i8, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_lo,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 4, 5,
OPC_EmitInteger, MVT::i32, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA), 0,
MVT::i32, 2, 6, 7,
73,
OPC_CheckChild1Type, MVT::i64,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i8,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 27,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 1, 2,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_B), 0,
MVT::v16i8, 2, 0, 5,
OPC_EmitStringInteger, MVT::i32, Mips::sub_lo,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 6, 7,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 8, 9,
OPC_EmitInteger, MVT::i32, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA), 0,
MVT::i32, 2, 10, 11,
0,
29|128,1,
OPC_CheckChild0Type, MVT::v8i16,
OPC_RecordChild1,
OPC_Scope, 25,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 29,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i16,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::COPY_S_H), 0,
MVT::i32, 2, 0, 2,
51,
OPC_CheckChild1Type, MVT::i32,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i16,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 27,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_H), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_lo,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 4, 5,
OPC_EmitInteger, MVT::i32, 32,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA), 0,
MVT::i32, 2, 6, 7,
73,
OPC_CheckChild1Type, MVT::i64,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i16,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 27,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 1, 2,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_H), 0,
MVT::v8i16, 2, 0, 5,
OPC_EmitStringInteger, MVT::i32, Mips::sub_lo,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 6, 7,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 8, 9,
OPC_EmitInteger, MVT::i32, 32,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRA), 0,
MVT::i32, 2, 10, 11,
0,
7|128,1,
OPC_CheckChild0Type, MVT::v4i32,
OPC_RecordChild1,
OPC_Scope, 25,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 30,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i32,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::COPY_S_W), 0,
MVT::i32, 2, 0, 2,
40,
OPC_CheckChild1Type, MVT::i32,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i32,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 27,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_W), 0,
MVT::v4i32, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_lo,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 4, 5,
62,
OPC_CheckChild1Type, MVT::i64,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i32,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 27,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 1, 2,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_W), 0,
MVT::v4i32, 2, 0, 5,
OPC_EmitStringInteger, MVT::i32, Mips::sub_lo,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 6, 7,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 8, 9,
0,
7|128,1,
OPC_CheckChild0Type, MVT::v2i64,
OPC_RecordChild1,
OPC_Scope, 25,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 34,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i64,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 61,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::COPY_S_D), 0,
MVT::i64, 2, 0, 2,
40,
OPC_CheckChild1Type, MVT::i32,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i64,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 74,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_D), 0,
MVT::v2i64, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_64,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i64, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::GPR64RegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i64, 2, 4, 5,
62,
OPC_CheckChild1Type, MVT::i64,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i64,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 74,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 1, 2,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_D), 0,
MVT::v2i64, 2, 0, 5,
OPC_EmitStringInteger, MVT::i32, Mips::sub_64,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i64, 2, 6, 7,
OPC_EmitStringInteger, MVT::i32, Mips::GPR64RegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i64, 2, 8, 9,
0,
0,
29|128,5, TARGET_VAL(MipsISD::VEXTRACT_ZEXT_ELT),
OPC_RecordChild0,
OPC_Scope, 29|128,1,
OPC_CheckChild0Type, MVT::v16i8,
OPC_RecordChild1,
OPC_Scope, 25,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 28,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i8,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::COPY_U_B), 0,
MVT::i32, 2, 0, 2,
51,
OPC_CheckChild1Type, MVT::i32,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i8,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 27,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_B), 0,
MVT::v16i8, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_lo,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 4, 5,
OPC_EmitInteger, MVT::i32, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL), 0,
MVT::i32, 2, 6, 7,
73,
OPC_CheckChild1Type, MVT::i64,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i8,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 27,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 1, 2,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_B), 0,
MVT::v16i8, 2, 0, 5,
OPC_EmitStringInteger, MVT::i32, Mips::sub_lo,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 6, 7,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 8, 9,
OPC_EmitInteger, MVT::i32, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL), 0,
MVT::i32, 2, 10, 11,
0,
29|128,1,
OPC_CheckChild0Type, MVT::v8i16,
OPC_RecordChild1,
OPC_Scope, 25,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 29,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i16,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::COPY_U_H), 0,
MVT::i32, 2, 0, 2,
51,
OPC_CheckChild1Type, MVT::i32,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i16,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 27,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_H), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_lo,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 4, 5,
OPC_EmitInteger, MVT::i32, 32,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL), 0,
MVT::i32, 2, 6, 7,
73,
OPC_CheckChild1Type, MVT::i64,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i16,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 27,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 1, 2,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_H), 0,
MVT::v8i16, 2, 0, 5,
OPC_EmitStringInteger, MVT::i32, Mips::sub_lo,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 6, 7,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 8, 9,
OPC_EmitInteger, MVT::i32, 32,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SRL), 0,
MVT::i32, 2, 10, 11,
0,
23|128,1,
OPC_CheckChild0Type, MVT::v4i32,
OPC_RecordChild1,
OPC_Scope, 41,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 30,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i32,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 61,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::COPY_U_W), 0,
MVT::i32, 2, 0, 2,
12,
OPC_CheckPatternPredicate, 27,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::COPY_S_W), 0,
MVT::i32, 2, 0, 2,
0,
40,
OPC_CheckChild1Type, MVT::i32,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i32,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 27,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_W), 0,
MVT::v4i32, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_lo,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 4, 5,
62,
OPC_CheckChild1Type, MVT::i64,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i32,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 27,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 1, 2,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_W), 0,
MVT::v4i32, 2, 0, 5,
OPC_EmitStringInteger, MVT::i32, Mips::sub_lo,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 6, 7,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 8, 9,
0,
28,
OPC_CheckChild0Type, MVT::v4f32,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 30,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i32,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 27,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::COPY_S_W), 0,
MVT::i32, 2, 0, 2,
7|128,1,
OPC_CheckChild0Type, MVT::v2i64,
OPC_RecordChild1,
OPC_Scope, 25,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 34,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i64,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 27,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::COPY_S_D), 0,
MVT::i64, 2, 0, 2,
40,
OPC_CheckChild1Type, MVT::i32,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i64,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 74,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_D), 0,
MVT::v2i64, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_64,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i64, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::GPR64RegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i64, 2, 4, 5,
62,
OPC_CheckChild1Type, MVT::i64,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i64,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 74,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 1, 2,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_D), 0,
MVT::v2i64, 2, 0, 5,
OPC_EmitStringInteger, MVT::i32, Mips::sub_64,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i64, 2, 6, 7,
OPC_EmitStringInteger, MVT::i32, Mips::GPR64RegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i64, 2, 8, 9,
0,
28,
OPC_CheckChild0Type, MVT::v2f64,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 34,
OPC_MoveParent,
OPC_MoveChild2,
OPC_CheckValueType, MVT::i64,
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 27,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::COPY_S_D), 0,
MVT::i64, 2, 0, 2,
0,
104|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
OPC_RecordChild0,
OPC_Scope, 24,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 28,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 27,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::COPY_S_W), 0,
MVT::i32, 2, 0, 2,
101,
OPC_CheckChild0Type, MVT::v4f32,
OPC_RecordChild1,
OPC_Scope, 21,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 30,
OPC_MoveParent,
OPC_CheckType, MVT::f32,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::COPY_FW_PSEUDO), 0,
MVT::f32, 2, 0, 2,
25,
OPC_CheckChild1Type, MVT::i32,
OPC_CheckType, MVT::f32,
OPC_CheckPatternPredicate, 27,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_W), 0,
MVT::v4i32, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_lo,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::f32, 2, 2, 3,
47,
OPC_CheckChild1Type, MVT::i64,
OPC_CheckType, MVT::f32,
OPC_CheckPatternPredicate, 27,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 1, 2,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_W), 0,
MVT::v4i32, 2, 0, 5,
OPC_EmitStringInteger, MVT::i32, Mips::sub_lo,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::f32, 2, 6, 7,
0,
101,
OPC_CheckChild0Type, MVT::v2f64,
OPC_RecordChild1,
OPC_Scope, 21,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 34,
OPC_MoveParent,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::COPY_FD_PSEUDO), 0,
MVT::f64, 2, 0, 2,
25,
OPC_CheckChild1Type, MVT::i32,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 27,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_D), 0,
MVT::v2i64, 2, 0, 1,
OPC_EmitStringInteger, MVT::i32, Mips::sub_64,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::f64, 2, 2, 3,
47,
OPC_CheckChild1Type, MVT::i64,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 27,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::i32, 2, 1, 2,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 3, 4,
OPC_EmitNode1, TARGET_VAL(Mips::SPLAT_D), 0,
MVT::v2i64, 2, 0, 5,
OPC_EmitStringInteger, MVT::i32, Mips::sub_64,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::f64, 2, 6, 7,
0,
0,
100|128,1, TARGET_VAL(MipsISD::JmpLink),
OPC_RecordNode,
OPC_CaptureGlueInput,
OPC_RecordChild1,
OPC_Scope, 13|128,1,
OPC_MoveChild1,
OPC_SwitchOpcode , 73, TARGET_VAL(ISD::TargetGlobalAddress),
OPC_Scope, 23,
OPC_MoveParent,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 52,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JALX), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
0,
12,
OPC_CheckType, MVT::i32,
OPC_MoveParent,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::Jal16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
33,
OPC_MoveParent,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_Scope, 6,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
6,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JALX_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
0,
9,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
0,
0,
59, TARGET_VAL(ISD::TargetExternalSymbol),
OPC_SwitchType , 43, MVT::i32,
OPC_MoveParent,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 75,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::Jal16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
0,
10, MVT::i64,
OPC_MoveParent,
OPC_CheckPatternPredicate, 63,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
0,
0,
54,
OPC_CheckChild1Type, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 76,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRPseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 77,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRHBPseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JumpLinkReg16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JALR16_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRC16_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
0,
24,
OPC_CheckChild1Type, MVT::i64,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 78,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JALR64Pseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 79,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRHB64Pseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1, 1,
0,
0,
63|128,1, TARGET_VAL(MipsISD::TailCall),
OPC_RecordNode,
OPC_CaptureGlueInput,
OPC_RecordChild1,
OPC_Scope, 75,
OPC_MoveChild1,
OPC_SwitchOpcode , 33, TARGET_VAL(ISD::TargetGlobalAddress),
OPC_MoveParent,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1, 1,
0,
33, TARGET_VAL(ISD::TargetExternalSymbol),
OPC_MoveParent,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1, 1,
0,
0,
64,
OPC_CheckChild1Type, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 80,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 81,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREGHB), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 82,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLR6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 83,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLHBR6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1, 1,
0,
44,
OPC_CheckChild1Type, MVT::i64,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 84,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 85,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREGHB64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 86,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL64R6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1, 1,
9,
OPC_CheckPatternPredicate, 87,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLHB64R6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1, 1,
0,
0,
106|128,2, TARGET_VAL(MipsISD::Hi),
OPC_RecordChild0,
OPC_MoveChild0,
OPC_SwitchOpcode , 77, TARGET_VAL(ISD::TargetGlobalAddress),
OPC_MoveParent,
OPC_SwitchType , 43, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi_MM), 0,
MVT::i32, 1, 0,
20,
OPC_CheckPatternPredicate, 15,
OPC_EmitNode1, TARGET_VAL(Mips::LiRxImmX16), 0,
MVT::i32, 1, 0,
OPC_EmitInteger, MVT::i32, 32,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SllX16), 0,
MVT::i32, 2, 1, 2,
0,
27, MVT::i64,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi64), 0,
MVT::i64, 1, 0,
14,
OPC_CheckPatternPredicate, 63,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
77, TARGET_VAL(ISD::TargetBlockAddress),
OPC_MoveParent,
OPC_SwitchType , 43, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi_MM), 0,
MVT::i32, 1, 0,
20,
OPC_CheckPatternPredicate, 15,
OPC_EmitNode1, TARGET_VAL(Mips::LiRxImmX16), 0,
MVT::i32, 1, 0,
OPC_EmitInteger, MVT::i32, 32,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SllX16), 0,
MVT::i32, 2, 1, 2,
0,
27, MVT::i64,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi64), 0,
MVT::i64, 1, 0,
14,
OPC_CheckPatternPredicate, 63,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
77, TARGET_VAL(ISD::TargetJumpTable),
OPC_MoveParent,
OPC_SwitchType , 43, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi_MM), 0,
MVT::i32, 1, 0,
20,
OPC_CheckPatternPredicate, 15,
OPC_EmitNode1, TARGET_VAL(Mips::LiRxImmX16), 0,
MVT::i32, 1, 0,
OPC_EmitInteger, MVT::i32, 32,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SllX16), 0,
MVT::i32, 2, 1, 2,
0,
27, MVT::i64,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi64), 0,
MVT::i64, 1, 0,
14,
OPC_CheckPatternPredicate, 63,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
56, TARGET_VAL(ISD::TargetConstantPool),
OPC_MoveParent,
OPC_SwitchType , 22, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi_MM), 0,
MVT::i32, 1, 0,
0,
27, MVT::i64,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi64), 0,
MVT::i64, 1, 0,
14,
OPC_CheckPatternPredicate, 63,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
56, TARGET_VAL(ISD::TargetExternalSymbol),
OPC_MoveParent,
OPC_SwitchType , 22, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi_MM), 0,
MVT::i32, 1, 0,
0,
27, MVT::i64,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 62,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi64), 0,
MVT::i64, 1, 0,
14,
OPC_CheckPatternPredicate, 63,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
0,
62|128,3, TARGET_VAL(MipsISD::Lo),
OPC_RecordChild0,
OPC_MoveChild0,
OPC_SwitchOpcode , 69, TARGET_VAL(ISD::TargetGlobalAddress),
OPC_MoveParent,
OPC_SwitchType , 30, MVT::i32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 7,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 1, 0,
13,
OPC_CheckPatternPredicate, 8,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 1, 0,
0,
32, MVT::i64,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 62,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
14,
OPC_CheckPatternPredicate, 63,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
79, TARGET_VAL(ISD::TargetBlockAddress),
OPC_MoveParent,
OPC_SwitchType , 40, MVT::i32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 7,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 1, 0,
9,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LiRxImmX16), 0,
MVT::i32, 1, 0,
13,
OPC_CheckPatternPredicate, 8,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 1, 0,
0,
32, MVT::i64,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 62,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
14,
OPC_CheckPatternPredicate, 63,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
69, TARGET_VAL(ISD::TargetJumpTable),
OPC_MoveParent,
OPC_SwitchType , 30, MVT::i32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 7,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 1, 0,
13,
OPC_CheckPatternPredicate, 8,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 1, 0,
0,
32, MVT::i64,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 62,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
14,
OPC_CheckPatternPredicate, 63,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
69, TARGET_VAL(ISD::TargetConstantPool),
OPC_MoveParent,
OPC_SwitchType , 30, MVT::i32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 7,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 1, 0,
13,
OPC_CheckPatternPredicate, 8,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 1, 0,
0,
32, MVT::i64,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 62,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
14,
OPC_CheckPatternPredicate, 63,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
69, TARGET_VAL(ISD::TargetGlobalTLSAddress),
OPC_MoveParent,
OPC_SwitchType , 30, MVT::i32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 7,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 1, 0,
13,
OPC_CheckPatternPredicate, 8,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 1, 0,
0,
32, MVT::i64,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 62,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
14,
OPC_CheckPatternPredicate, 63,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
69, TARGET_VAL(ISD::TargetExternalSymbol),
OPC_MoveParent,
OPC_SwitchType , 30, MVT::i32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 7,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 1, 0,
13,
OPC_CheckPatternPredicate, 8,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 1, 0,
0,
32, MVT::i64,
OPC_Scope, 14,
OPC_CheckPatternPredicate, 62,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
14,
OPC_CheckPatternPredicate, 63,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
0,
0,
86, TARGET_VAL(MipsISD::GotHi),
OPC_RecordChild0,
OPC_MoveChild0,
OPC_SwitchOpcode , 38, TARGET_VAL(ISD::TargetGlobalAddress),
OPC_MoveParent,
OPC_SwitchType , 22, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi_MM), 0,
MVT::i32, 1, 0,
0,
9, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi64), 0,
MVT::i64, 1, 0,
0,
38, TARGET_VAL(ISD::TargetExternalSymbol),
OPC_MoveParent,
OPC_SwitchType , 22, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi_MM), 0,
MVT::i32, 1, 0,
0,
9, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi64), 0,
MVT::i64, 1, 0,
0,
0,
64, TARGET_VAL(MipsISD::TlsHi),
OPC_RecordChild0,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
OPC_MoveParent,
OPC_SwitchType , 43, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi_MM), 0,
MVT::i32, 1, 0,
20,
OPC_CheckPatternPredicate, 15,
OPC_EmitNode1, TARGET_VAL(Mips::LiRxImmX16), 0,
MVT::i32, 1, 0,
OPC_EmitInteger, MVT::i32, 32,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SllX16), 0,
MVT::i32, 2, 1, 2,
0,
9, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi64), 0,
MVT::i64, 1, 0,
0,
35|128,2, TARGET_VAL(MipsISD::Wrapper),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_SwitchOpcode , 52, TARGET_VAL(ISD::TargetGlobalAddress),
OPC_MoveParent,
OPC_SwitchType , 35, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AddiuRxRxImmX16), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
0,
41, TARGET_VAL(ISD::TargetConstantPool),
OPC_MoveParent,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
0,
41, TARGET_VAL(ISD::TargetExternalSymbol),
OPC_MoveParent,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
0,
41, TARGET_VAL(ISD::TargetBlockAddress),
OPC_MoveParent,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
0,
41, TARGET_VAL(ISD::TargetJumpTable),
OPC_MoveParent,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
0,
52, TARGET_VAL(ISD::TargetGlobalTLSAddress),
OPC_MoveParent,
OPC_SwitchType , 35, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AddiuRxRxImmX16), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 0, 1,
0,
0,
6|128,1, TARGET_VAL(MipsISD::FPCmp),
OPC_RecordChild0,
OPC_Scope, 39,
OPC_CheckChild0Type, MVT::f32,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_MoveParent,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 69,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCMP_S32), 0|OPFL_GlueOutput,
MVT::i32, 3, 0, 1, 3,
13,
OPC_CheckPatternPredicate, 10,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCMP_S32_MM), 0|OPFL_GlueOutput,
MVT::i32, 3, 0, 1, 3,
0,
53,
OPC_CheckChild0Type, MVT::f64,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_MoveParent,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 88,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCMP_D32), 0|OPFL_GlueOutput,
MVT::i32, 3, 0, 1, 3,
13,
OPC_CheckPatternPredicate, 89,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCMP_D64), 0|OPFL_GlueOutput,
MVT::i32, 3, 0, 1, 3,
13,
OPC_CheckPatternPredicate, 10,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCMP_D32_MM), 0|OPFL_GlueOutput,
MVT::i32, 3, 0, 1, 3,
0,
36,
OPC_CheckChild0Type, MVT::f16,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_MoveParent,
OPC_CheckPatternPredicate, 90,
OPC_EmitNode1, TARGET_VAL(Mips::MSA_FP_EXTEND_W_PSEUDO), 0,
MVT::f32, 1, 0,
OPC_EmitNode1, TARGET_VAL(Mips::MSA_FP_EXTEND_W_PSEUDO), 0,
MVT::f32, 1, 1,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FCMP_S32), 0|OPFL_GlueOutput,
MVT::i32, 3, 3, 4, 5,
0,
35, TARGET_VAL(MipsISD::ExtractElementF64),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_MoveParent,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 91,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ExtractElementF64), 0,
MVT::i32, 2, 0, 2,
12,
OPC_CheckPatternPredicate, 92,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ExtractElementF64_64), 0,
MVT::i32, 2, 0, 2,
0,
79, TARGET_VAL(MipsISD::Highest),
OPC_RecordChild0,
OPC_MoveChild0,
OPC_SwitchOpcode , 12, TARGET_VAL(ISD::TargetGlobalAddress),
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi64), 0,
MVT::i64, 1, 0,
12, TARGET_VAL(ISD::TargetBlockAddress),
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi64), 0,
MVT::i64, 1, 0,
12, TARGET_VAL(ISD::TargetJumpTable),
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi64), 0,
MVT::i64, 1, 0,
12, TARGET_VAL(ISD::TargetConstantPool),
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi64), 0,
MVT::i64, 1, 0,
12, TARGET_VAL(ISD::TargetExternalSymbol),
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi64), 0,
MVT::i64, 1, 0,
0,
104, TARGET_VAL(MipsISD::Higher),
OPC_RecordChild0,
OPC_MoveChild0,
OPC_SwitchOpcode , 17, TARGET_VAL(ISD::TargetGlobalAddress),
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
17, TARGET_VAL(ISD::TargetBlockAddress),
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
17, TARGET_VAL(ISD::TargetJumpTable),
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
17, TARGET_VAL(ISD::TargetConstantPool),
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
17, TARGET_VAL(ISD::TargetExternalSymbol),
OPC_MoveParent,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 63,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 0,
0,
79|128,3, TARGET_VAL(ISD::Constant),
OPC_RecordNode,
OPC_Scope, 18,
OPC_CheckPredicate, 55,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 7,
OPC_EmitConvertToTarget, 0,
OPC_EmitNodeXForm, 5, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi), 0,
MVT::i32, 1, 2,
19,
OPC_CheckPredicate, 56,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 7,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitConvertToTarget, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ORi), 0,
MVT::i32, 2, 1, 2,
19,
OPC_CheckPredicate, 19,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 7,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitConvertToTarget, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 1, 2,
18,
OPC_CheckPredicate, 55,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_EmitConvertToTarget, 0,
OPC_EmitNodeXForm, 5, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi64), 0,
MVT::i64, 1, 2,
20,
OPC_CheckPredicate, 56,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_EmitConvertToTarget, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ORi64), 0,
MVT::i64, 2, 1, 2,
20,
OPC_CheckPredicate, 19,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_EmitConvertToTarget, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DADDiu), 0,
MVT::i64, 2, 1, 2,
18,
OPC_CheckPredicate, 21,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_EmitConvertToTarget, 0,
OPC_EmitNodeXForm, 3, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LiRxImmX16), 0,
MVT::i32, 1, 2,
15,
OPC_CheckPredicate, 57,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LI16_MM), 0,
MVT::i32, 1, 1,
18,
OPC_CheckPredicate, 55,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 0,
OPC_EmitNodeXForm, 5, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LUi_MM), 0,
MVT::i32, 1, 2,
19,
OPC_CheckPredicate, 56,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitConvertToTarget, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ORi_MM), 0,
MVT::i32, 2, 1, 2,
19,
OPC_CheckPredicate, 19,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitConvertToTarget, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDiu_MM), 0,
MVT::i32, 2, 1, 2,
22,
OPC_CheckPredicate, 21,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 16,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitConvertToTarget, 0,
OPC_EmitNodeXForm, 3, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::XORI_MMR6), 0,
MVT::i32, 2, 1, 3,
62,
OPC_CheckPredicate, 58,
OPC_SwitchType , 27, MVT::i32,
OPC_CheckPatternPredicate, 7,
OPC_EmitConvertToTarget, 0,
OPC_EmitNodeXForm, 5, 1,
OPC_EmitNode1, TARGET_VAL(Mips::LUi), 0,
MVT::i32, 1, 2,
OPC_EmitConvertToTarget, 0,
OPC_EmitNodeXForm, 3, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ORi), 0,
MVT::i32, 2, 3, 5,
27, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_EmitConvertToTarget, 0,
OPC_EmitNodeXForm, 5, 1,
OPC_EmitNode1, TARGET_VAL(Mips::LUi64), 0,
MVT::i64, 1, 2,
OPC_EmitConvertToTarget, 0,
OPC_EmitNodeXForm, 3, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ORi64), 0,
MVT::i64, 2, 3, 5,
0,
34,
OPC_CheckPredicate, 59,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_EmitConvertToTarget, 0,
OPC_EmitNodeXForm, 5, 2,
OPC_EmitNode1, TARGET_VAL(Mips::ORi64), 0,
MVT::i64, 2, 1, 3,
OPC_EmitInteger, MVT::i32, 32,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DSLL), 0,
MVT::i64, 2, 4, 5,
26,
OPC_CheckPredicate, 19,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitNode1, TARGET_VAL(Mips::MoveR3216), 0,
MVT::i32, 1, 1,
OPC_EmitConvertToTarget, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::AddiuRxRxImmX16), 0,
MVT::i32, 2, 2, 3,
31,
OPC_CheckPredicate, 58,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 8,
OPC_EmitConvertToTarget, 0,
OPC_EmitNodeXForm, 5, 1,
OPC_EmitNode1, TARGET_VAL(Mips::LUi_MM), 0,
MVT::i32, 1, 2,
OPC_EmitConvertToTarget, 0,
OPC_EmitNodeXForm, 3, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ORi_MM), 0,
MVT::i32, 2, 3, 5,
47,
OPC_CheckPredicate, 60,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_EmitConvertToTarget, 0,
OPC_EmitNodeXForm, 5, 2,
OPC_EmitNode1, TARGET_VAL(Mips::ORi64), 0,
MVT::i64, 2, 1, 3,
OPC_EmitInteger, MVT::i32, 32,
OPC_EmitNode1, TARGET_VAL(Mips::DSLL), 0,
MVT::i64, 2, 4, 5,
OPC_EmitConvertToTarget, 0,
OPC_EmitNodeXForm, 3, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ORi64), 0,
MVT::i64, 2, 6, 8,
17,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 15,
OPC_EmitConvertToTarget, 0,
OPC_EmitInteger, MVT::i32, 3,
OPC_MorphNodeTo1, TARGET_VAL(Mips::LwConstant32), 0,
MVT::i32, 2, 1, 2,
0,
124, TARGET_VAL(ISD::BRIND),
OPC_RecordNode,
OPC_RecordChild1,
OPC_Scope, 74,
OPC_CheckChild1Type, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::JrcRx16), 0|OPFL_Chain,
1, 1,
9,
OPC_CheckPatternPredicate, 80,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::PseudoIndirectBranch), 0|OPFL_Chain,
1, 1,
9,
OPC_CheckPatternPredicate, 93,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::PseudoIndirectHazardBranch), 0|OPFL_Chain,
1, 1,
9,
OPC_CheckPatternPredicate, 82,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::PseudoIndirectBranchR6), 0|OPFL_Chain,
1, 1,
9,
OPC_CheckPatternPredicate, 83,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::PseudoIndrectHazardBranchR6), 0|OPFL_Chain,
1, 1,
9,
OPC_CheckPatternPredicate, 30,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::PseudoIndirectBranch_MM), 0|OPFL_Chain,
1, 1,
9,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::PseudoIndirectBranch_MMR6), 0|OPFL_Chain,
1, 1,
0,
44,
OPC_CheckChild1Type, MVT::i64,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 94,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::PseudoIndirectBranch64), 0|OPFL_Chain,
1, 1,
9,
OPC_CheckPatternPredicate, 85,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::PseudoIndirectHazardBranch64), 0|OPFL_Chain,
1, 1,
9,
OPC_CheckPatternPredicate, 86,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::PseudoIndirectBranch64R6), 0|OPFL_Chain,
1, 1,
9,
OPC_CheckPatternPredicate, 87,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::PseudoIndrectHazardBranch64R6), 0|OPFL_Chain,
1, 1,
0,
0,
67, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 44, MVT::i32,
OPC_Scope, 13,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I8), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
0,
13, MVT::i64,
OPC_CheckPredicate, 24,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 1, 2,
0,
67, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 44, MVT::i32,
OPC_Scope, 13,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I8), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
0,
13, MVT::i64,
OPC_CheckPredicate, 24,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 1, 2,
0,
67, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 44, MVT::i32,
OPC_Scope, 13,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I8), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
0,
13, MVT::i64,
OPC_CheckPredicate, 24,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 1, 2,
0,
67, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 44, MVT::i32,
OPC_Scope, 13,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I8), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
0,
13, MVT::i64,
OPC_CheckPredicate, 24,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 1, 2,
0,
67, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 44, MVT::i32,
OPC_Scope, 13,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I8), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
0,
13, MVT::i64,
OPC_CheckPredicate, 24,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 1, 2,
0,
67, TARGET_VAL(ISD::ATOMIC_LOAD_NAND),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 44, MVT::i32,
OPC_Scope, 13,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I8), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I32), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
0,
13, MVT::i64,
OPC_CheckPredicate, 24,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 1, 2,
0,
67, TARGET_VAL(ISD::ATOMIC_SWAP),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 44, MVT::i32,
OPC_Scope, 13,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I32), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
0,
13, MVT::i64,
OPC_CheckPredicate, 24,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 1, 2,
0,
72, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_SwitchType , 47, MVT::i32,
OPC_Scope, 14,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 3, 1, 2, 3,
14,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 3, 1, 2, 3,
14,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I32), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 3, 1, 2, 3,
0,
14, MVT::i64,
OPC_CheckPredicate, 24,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 3, 1, 2, 3,
0,
67, TARGET_VAL(ISD::ATOMIC_LOAD_MIN),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 44, MVT::i32,
OPC_Scope, 13,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I8), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I32), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
0,
13, MVT::i64,
OPC_CheckPredicate, 24,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 1, 2,
0,
67, TARGET_VAL(ISD::ATOMIC_LOAD_MAX),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 44, MVT::i32,
OPC_Scope, 13,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I8), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I32), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
0,
13, MVT::i64,
OPC_CheckPredicate, 24,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 1, 2,
0,
67, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 44, MVT::i32,
OPC_Scope, 13,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I8), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I32), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
0,
13, MVT::i64,
OPC_CheckPredicate, 24,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 1, 2,
0,
67, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX),
OPC_RecordMemRef,
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 44, MVT::i32,
OPC_Scope, 13,
OPC_CheckPredicate, 8,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I8), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 9,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I16), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
13,
OPC_CheckPredicate, 14,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I32), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i32, 2, 1, 2,
0,
13, MVT::i64,
OPC_CheckPredicate, 24,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I64), 0|OPFL_Chain|OPFL_MemRefs,
MVT::i64, 2, 1, 2,
0,
22, TARGET_VAL(MipsISD::Ret),
OPC_RecordNode,
OPC_CaptureGlueInput,
OPC_Scope, 8,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::RetRA), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
0,
8,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::RetRA16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
0,
0,
10, TARGET_VAL(MipsISD::ERet),
OPC_RecordNode,
OPC_CaptureGlueInput,
OPC_CheckPatternPredicate, 50,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::ERet), 0|OPFL_Chain|OPFL_GlueInput,
0,
43|128,1, TARGET_VAL(ISD::MUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 78, MVT::i32,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 52,
OPC_MorphNodeTo2, TARGET_VAL(Mips::MUL), 0,
MVT::i32, MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MUL_R6), 0,
MVT::i32, 2, 0, 1,
11,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo2, TARGET_VAL(Mips::MultRxRyRz16), 0,
MVT::i32, MVT::i32, 2, 0, 1,
11,
OPC_CheckPatternPredicate, 30,
OPC_MorphNodeTo2, TARGET_VAL(Mips::MUL_MM), 0,
MVT::i32, MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MUL_MMR6), 0,
MVT::i32, 2, 0, 1,
17,
OPC_CheckPatternPredicate, 95,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoMULT), 0,
MVT::Untyped, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMFLO), 0,
MVT::i32, 1, 2,
0,
25, MVT::i64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 31,
OPC_MorphNodeTo2, TARGET_VAL(Mips::DMUL), 0,
MVT::i64, MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 55,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DMUL_R6), 0,
MVT::i64, 2, 0, 1,
0,
10, MVT::v2i16,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MUL_PH), 0,
MVT::v2i16, 2, 0, 1,
10, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULV_B), 0,
MVT::v16i8, 2, 0, 1,
10, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULV_H), 0,
MVT::v8i16, 2, 0, 1,
10, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULV_W), 0,
MVT::v4i32, 2, 0, 1,
10, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULV_D), 0,
MVT::v2i64, 2, 0, 1,
0,
30, TARGET_VAL(ISD::TRAP),
OPC_RecordNode,
OPC_Scope, 8,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TRAP), 0|OPFL_Chain,
0,
8,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::Break16), 0|OPFL_Chain,
0,
8,
OPC_CheckPatternPredicate, 8,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::TRAP_MM), 0|OPFL_Chain,
0,
0,
69, TARGET_VAL(ISD::BR),
OPC_RecordNode,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
OPC_MoveParent,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 96,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::J), 0|OPFL_Chain,
1, 1,
9,
OPC_CheckPatternPredicate, 7,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::B), 0|OPFL_Chain,
1, 1,
9,
OPC_CheckPatternPredicate, 15,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::Bimm16), 0|OPFL_Chain,
1, 1,
9,
OPC_CheckPatternPredicate, 97,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::J_MM), 0|OPFL_Chain,
1, 1,
9,
OPC_CheckPatternPredicate, 98,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::B_MM), 0|OPFL_Chain,
1, 1,
9,
OPC_CheckPatternPredicate, 16,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::BC_MMR6), 0|OPFL_Chain,
1, 1,
0,
33, TARGET_VAL(MipsISD::EH_RETURN),
OPC_RecordNode,
OPC_CaptureGlueInput,
OPC_RecordChild1,
OPC_Scope, 13,
OPC_CheckChild1Type, MVT::i32,
OPC_RecordChild2,
OPC_CheckChild2Type, MVT::i32,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::MIPSeh_return32), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
2, 1, 2,
13,
OPC_CheckChild1Type, MVT::i64,
OPC_RecordChild2,
OPC_CheckChild2Type, MVT::i64,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo0, TARGET_VAL(Mips::MIPSeh_return64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
2, 1, 2,
0,
119, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
OPC_RecordChild0,
OPC_MoveChild1,
OPC_Scope, 50,
OPC_CheckValueType, MVT::i8,
OPC_MoveParent,
OPC_SwitchType , 32, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 56,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SEB), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SebRx16), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SEB_MM), 0,
MVT::i32, 1, 0,
0,
9, MVT::i64,
OPC_CheckPatternPredicate, 99,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SEB64), 0,
MVT::i64, 1, 0,
0,
50,
OPC_CheckValueType, MVT::i16,
OPC_MoveParent,
OPC_SwitchType , 32, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 56,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SEH), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SehRx16), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SEH_MM), 0,
MVT::i32, 1, 0,
0,
9, MVT::i64,
OPC_CheckPatternPredicate, 99,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SEH64), 0,
MVT::i64, 1, 0,
0,
12,
OPC_CheckValueType, MVT::i32,
OPC_MoveParent,
OPC_CheckPatternPredicate, 29,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SLL64_64), 0,
MVT::i64, 1, 0,
0,
67, TARGET_VAL(MipsISD::Mult),
OPC_RecordChild0,
OPC_Scope, 49,
OPC_CheckChild0Type, MVT::i32,
OPC_RecordChild1,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 100,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMULT), 0,
MVT::Untyped, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULT_DSP), 0,
MVT::Untyped, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 101,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMULT_MM), 0,
MVT::Untyped, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULT_DSP_MM), 0,
MVT::Untyped, 2, 0, 1,
0,
13,
OPC_CheckChild0Type, MVT::i64,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 46,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoDMULT), 0,
MVT::Untyped, 2, 0, 1,
0,
67, TARGET_VAL(MipsISD::Multu),
OPC_RecordChild0,
OPC_Scope, 49,
OPC_CheckChild0Type, MVT::i32,
OPC_RecordChild1,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 100,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMULTu), 0,
MVT::Untyped, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULTU_DSP), 0,
MVT::Untyped, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 101,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMULTu_MM), 0,
MVT::Untyped, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULTU_DSP_MM), 0,
MVT::Untyped, 2, 0, 1,
0,
13,
OPC_CheckChild0Type, MVT::i64,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 46,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoDMULTu), 0,
MVT::Untyped, 2, 0, 1,
0,
58, TARGET_VAL(MipsISD::MFHI),
OPC_RecordChild0,
OPC_SwitchType , 42, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 100,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMFHI), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MFHI_DSP), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 101,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMFHI_MM), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MFHI_DSP_MM), 0,
MVT::i32, 1, 0,
0,
9, MVT::i64,
OPC_CheckPatternPredicate, 46,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMFHI64), 0,
MVT::i64, 1, 0,
0,
58, TARGET_VAL(MipsISD::MFLO),
OPC_RecordChild0,
OPC_SwitchType , 42, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 100,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMFLO), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MFLO_DSP), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 101,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMFLO_MM), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MFLO_DSP_MM), 0,
MVT::i32, 1, 0,
0,
9, MVT::i64,
OPC_CheckPatternPredicate, 46,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMFLO64), 0,
MVT::i64, 1, 0,
0,
56, TARGET_VAL(MipsISD::MTLOHI),
OPC_RecordChild0,
OPC_Scope, 38,
OPC_CheckChild0Type, MVT::i32,
OPC_RecordChild1,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 100,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMTLOHI), 0,
MVT::Untyped, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 102,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMTLOHI_DSP), 0,
MVT::Untyped, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 101,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMTLOHI_MM), 0,
MVT::Untyped, 2, 0, 1,
0,
13,
OPC_CheckChild0Type, MVT::i64,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 46,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMTLOHI64), 0,
MVT::Untyped, 2, 0, 1,
0,
53, TARGET_VAL(MipsISD::MAdd),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 103,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMADD), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADD_DSP), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 101,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMADD_MM), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADD_DSP_MM), 0,
MVT::Untyped, 3, 0, 1, 2,
0,
53, TARGET_VAL(MipsISD::MAddu),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 103,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMADDU), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADDU_DSP), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 101,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMADDU_MM), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADDU_DSP_MM), 0,
MVT::Untyped, 3, 0, 1, 2,
0,
53, TARGET_VAL(MipsISD::MSub),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 103,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMSUB), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSUB_DSP), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 101,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMSUB_MM), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSUB_DSP_MM), 0,
MVT::Untyped, 3, 0, 1, 2,
0,
53, TARGET_VAL(MipsISD::MSubu),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 103,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMSUBU), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSUBU_DSP), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 101,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoMSUBU_MM), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSUBU_DSP_MM), 0,
MVT::Untyped, 3, 0, 1, 2,
0,
53, TARGET_VAL(ISD::SUBC),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 35, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBu), 0|OPFL_GlueOutput,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBu_MM), 0|OPFL_GlueOutput,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SUBU_MMR6), 0|OPFL_GlueOutput,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 67,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DSUBu), 0|OPFL_GlueOutput,
MVT::i64, 2, 0, 1,
0,
38|128,18, TARGET_VAL(ISD::BITCAST),
OPC_RecordChild0,
OPC_Scope, 68,
OPC_CheckChild0Type, MVT::f32,
OPC_SwitchType , 32, MVT::i32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 17,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MFC1), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 18,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MFC1_MM), 0,
MVT::i32, 1, 0,
9,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MFC1_MMR6), 0,
MVT::i32, 1, 0,
0,
13, MVT::v2i16,
OPC_CheckPatternPredicate, 28,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i16, 2, 0, 1,
13, MVT::v4i8,
OPC_CheckPatternPredicate, 28,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i8, 2, 0, 1,
0,
13,
OPC_CheckChild0Type, MVT::f64,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 104,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DMFC1), 0,
MVT::i64, 1, 0,
34,
OPC_CheckChild0Type, MVT::v2i16,
OPC_SwitchType , 13, MVT::i32,
OPC_CheckPatternPredicate, 28,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 0, 1,
13, MVT::f32,
OPC_CheckPatternPredicate, 28,
OPC_EmitStringInteger, MVT::i32, Mips::FGR32RegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::f32, 2, 0, 1,
0,
34,
OPC_CheckChild0Type, MVT::v4i8,
OPC_SwitchType , 13, MVT::i32,
OPC_CheckPatternPredicate, 28,
OPC_EmitStringInteger, MVT::i32, Mips::GPR32RegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::i32, 2, 0, 1,
13, MVT::f32,
OPC_CheckPatternPredicate, 28,
OPC_EmitStringInteger, MVT::i32, Mips::FGR32RegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::f32, 2, 0, 1,
0,
68,
OPC_CheckChild0Type, MVT::i32,
OPC_SwitchType , 32, MVT::f32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 17,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MTC1), 0,
MVT::f32, 1, 0,
9,
OPC_CheckPatternPredicate, 18,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MTC1_MM), 0,
MVT::f32, 1, 0,
9,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MTC1_MMR6), 0,
MVT::f32, 1, 0,
0,
13, MVT::v2i16,
OPC_CheckPatternPredicate, 28,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i16, 2, 0, 1,
13, MVT::v4i8,
OPC_CheckPatternPredicate, 28,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i8, 2, 0, 1,
0,
13,
OPC_CheckChild0Type, MVT::i64,
OPC_CheckType, MVT::f64,
OPC_CheckPatternPredicate, 104,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DMTC1), 0,
MVT::f64, 1, 0,
36|128,2,
OPC_CheckChild0Type, MVT::v8f16,
OPC_SwitchType , 13, MVT::v8i16,
OPC_CheckPatternPredicate, 27,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
53, MVT::v16i8,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_B), 0,
MVT::v16i8, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 4, 5,
0,
53, MVT::v4i32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 4, 5,
0,
52, MVT::v2i64,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i64, 2, 0, 1,
35,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 54,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i64, 2, 4, 5,
0,
53, MVT::v4f32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4f32, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4f32, 2, 4, 5,
0,
52, MVT::v2f64,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2f64, 2, 0, 1,
35,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 54,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2f64, 2, 4, 5,
0,
0,
20|128,2,
OPC_CheckChild0Type, MVT::v4f32,
OPC_SwitchType , 13, MVT::v4i32,
OPC_CheckPatternPredicate, 27,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 0, 1,
52, MVT::v16i8,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
35,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 54,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_B), 0,
MVT::v16i8, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 4, 5,
0,
53, MVT::v8i16,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 4, 5,
0,
53, MVT::v2i64,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i64, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_W), 0,
MVT::v4i32, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i64, 2, 4, 5,
0,
53, MVT::v2f64,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2f64, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_W), 0,
MVT::v4i32, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2f64, 2, 4, 5,
0,
36, MVT::v8f16,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8f16, 2, 4, 5,
0,
41|128,2,
OPC_CheckChild0Type, MVT::v2f64,
OPC_SwitchType , 13, MVT::v2i64,
OPC_CheckPatternPredicate, 27,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i64, 2, 0, 1,
75, MVT::v16i8,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
58,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 54,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_B), 0,
MVT::v16i8, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 4, 5,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_W), 0,
MVT::v4i32, 2, 6, 7,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 8, 9,
0,
52, MVT::v8i16,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
35,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 54,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 4, 5,
0,
53, MVT::v4i32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_W), 0,
MVT::v4i32, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 4, 5,
0,
53, MVT::v4f32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4f32, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_W), 0,
MVT::v4i32, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4f32, 2, 4, 5,
0,
35, MVT::v8f16,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 54,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8f16, 2, 4, 5,
0,
36|128,2,
OPC_CheckChild0Type, MVT::v8i16,
OPC_SwitchType , 53, MVT::v16i8,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_B), 0,
MVT::v16i8, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 4, 5,
0,
53, MVT::v4i32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 4, 5,
0,
52, MVT::v2i64,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i64, 2, 0, 1,
35,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 54,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i64, 2, 4, 5,
0,
13, MVT::v8f16,
OPC_CheckPatternPredicate, 27,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8f16, 2, 0, 1,
53, MVT::v4f32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4f32, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4f32, 2, 4, 5,
0,
52, MVT::v2f64,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2f64, 2, 0, 1,
35,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 54,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2f64, 2, 4, 5,
0,
0,
20|128,2,
OPC_CheckChild0Type, MVT::v4i32,
OPC_SwitchType , 52, MVT::v16i8,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
35,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 54,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_B), 0,
MVT::v16i8, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 4, 5,
0,
53, MVT::v8i16,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 4, 5,
0,
53, MVT::v2i64,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i64, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_W), 0,
MVT::v4i32, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i64, 2, 4, 5,
0,
13, MVT::v4f32,
OPC_CheckPatternPredicate, 27,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4f32, 2, 0, 1,
53, MVT::v2f64,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2f64, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_W), 0,
MVT::v4i32, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2f64, 2, 4, 5,
0,
36, MVT::v8f16,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8f16, 2, 4, 5,
0,
41|128,2,
OPC_CheckChild0Type, MVT::v2i64,
OPC_SwitchType , 75, MVT::v16i8,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
58,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 54,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_B), 0,
MVT::v16i8, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 4, 5,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_W), 0,
MVT::v4i32, 2, 6, 7,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 8, 9,
0,
52, MVT::v8i16,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
35,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 54,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 4, 5,
0,
53, MVT::v4i32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_W), 0,
MVT::v4i32, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 4, 5,
0,
13, MVT::v2f64,
OPC_CheckPatternPredicate, 27,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2f64, 2, 0, 1,
53, MVT::v4f32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4f32, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_W), 0,
MVT::v4i32, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4f32, 2, 4, 5,
0,
35, MVT::v8f16,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 54,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8f16, 2, 4, 5,
0,
103|128,2,
OPC_CheckChild0Type, MVT::v16i8,
OPC_SwitchType , 53, MVT::v8i16,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 0, 1,
36,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_B), 0,
MVT::v16i8, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8i16, 2, 4, 5,
0,
52, MVT::v4i32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 0, 1,
35,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 54,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_B), 0,
MVT::v16i8, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 4, 5,
0,
75, MVT::v2i64,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i64, 2, 0, 1,
58,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 54,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_B), 0,
MVT::v16i8, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 4, 5,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_W), 0,
MVT::v4i32, 2, 6, 7,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i64, 2, 8, 9,
0,
52, MVT::v4f32,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4f32, 2, 0, 1,
35,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 54,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_B), 0,
MVT::v16i8, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4f32, 2, 4, 5,
0,
75, MVT::v2f64,
OPC_Scope, 13,
OPC_CheckPatternPredicate, 105,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2f64, 2, 0, 1,
58,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 54,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_B), 0,
MVT::v16i8, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128WRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i32, 2, 4, 5,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_W), 0,
MVT::v4i32, 2, 6, 7,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128DRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2f64, 2, 8, 9,
0,
36, MVT::v8f16,
OPC_CheckPatternPredicate, 106,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128BRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v16i8, 2, 0, 1,
OPC_EmitInteger, MVT::i32, 98|128,2,
OPC_EmitNode1, TARGET_VAL(Mips::SHF_B), 0,
MVT::v16i8, 2, 2, 3,
OPC_EmitStringInteger, MVT::i32, Mips::MSA128HRegClassID,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v8f16, 2, 4, 5,
0,
0,
81, TARGET_VAL(ISD::CTPOP),
OPC_RecordChild0,
OPC_SwitchType , 11, MVT::i32,
OPC_CheckChild0Type, MVT::i32,
OPC_CheckPatternPredicate, 31,
OPC_MorphNodeTo1, TARGET_VAL(Mips::POP), 0,
MVT::i32, 1, 0,
11, MVT::i64,
OPC_CheckChild0Type, MVT::i64,
OPC_CheckPatternPredicate, 31,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPOP), 0,
MVT::i64, 1, 0,
11, MVT::v16i8,
OPC_CheckChild0Type, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PCNT_B), 0,
MVT::v16i8, 1, 0,
11, MVT::v8i16,
OPC_CheckChild0Type, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PCNT_H), 0,
MVT::v8i16, 1, 0,
11, MVT::v4i32,
OPC_CheckChild0Type, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PCNT_W), 0,
MVT::v4i32, 1, 0,
11, MVT::v2i64,
OPC_CheckChild0Type, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PCNT_D), 0,
MVT::v2i64, 1, 0,
0,
50|128,1, TARGET_VAL(MipsISD::CMovFP_T),
OPC_CaptureGlueInput,
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 38, MVT::i32,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 107,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVT_I), 0|OPFL_GlueInput,
MVT::i32, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 10,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVT_I_MM), 0|OPFL_GlueInput,
MVT::i32, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 38,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoSELECTFP_T_I), 0|OPFL_GlueInput,
MVT::i32, 3, 1, 0, 2,
0,
26, MVT::i64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 108,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVT_I64), 0|OPFL_GlueInput,
MVT::i64, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 38,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoSELECTFP_T_I64), 0|OPFL_GlueInput,
MVT::i64, 3, 1, 0, 2,
0,
38, MVT::f32,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 107,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVT_S), 0|OPFL_GlueInput,
MVT::f32, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 10,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVT_S_MM), 0|OPFL_GlueInput,
MVT::f32, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 38,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoSELECTFP_T_S), 0|OPFL_GlueInput,
MVT::f32, 3, 1, 0, 2,
0,
62, MVT::f64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 109,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVT_D32), 0|OPFL_GlueInput,
MVT::f64, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 110,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVT_D64), 0|OPFL_GlueInput,
MVT::f64, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 111,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVT_D32_MM), 0|OPFL_GlueInput,
MVT::f64, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 43,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoSELECTFP_T_D32), 0|OPFL_GlueInput,
MVT::f64, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 44,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoSELECTFP_T_D64), 0|OPFL_GlueInput,
MVT::f64, 3, 1, 0, 2,
0,
0,
50|128,1, TARGET_VAL(MipsISD::CMovFP_F),
OPC_CaptureGlueInput,
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 38, MVT::i32,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 107,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVF_I), 0|OPFL_GlueInput,
MVT::i32, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 10,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVF_I_MM), 0|OPFL_GlueInput,
MVT::i32, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 38,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoSELECTFP_F_I), 0|OPFL_GlueInput,
MVT::i32, 3, 1, 0, 2,
0,
26, MVT::i64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 108,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVF_I64), 0|OPFL_GlueInput,
MVT::i64, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 38,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoSELECTFP_F_I64), 0|OPFL_GlueInput,
MVT::i64, 3, 1, 0, 2,
0,
38, MVT::f32,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 107,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVF_S), 0|OPFL_GlueInput,
MVT::f32, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 10,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVF_S_MM), 0|OPFL_GlueInput,
MVT::f32, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 38,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoSELECTFP_F_S), 0|OPFL_GlueInput,
MVT::f32, 3, 1, 0, 2,
0,
62, MVT::f64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 109,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVF_D32), 0|OPFL_GlueInput,
MVT::f64, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 110,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVF_D64), 0|OPFL_GlueInput,
MVT::f64, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 111,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOVF_D32_MM), 0|OPFL_GlueInput,
MVT::f64, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 43,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoSELECTFP_F_D32), 0|OPFL_GlueInput,
MVT::f64, 3, 1, 0, 2,
11,
OPC_CheckPatternPredicate, 44,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoSELECTFP_F_D64), 0|OPFL_GlueInput,
MVT::f64, 3, 1, 0, 2,
0,
0,
42, TARGET_VAL(ISD::MULHS),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MUH), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MUH_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 55,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DMUH), 0,
MVT::i64, 2, 0, 1,
0,
42, TARGET_VAL(ISD::MULHU),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MUHU), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MUHU_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 55,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DMUHU), 0,
MVT::i64, 2, 0, 1,
0,
14, TARGET_VAL(MipsISD::DivRem16),
OPC_RecordChild0,
OPC_CheckChild0Type, MVT::i32,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DivRxRy16), 0|OPFL_GlueOutput,
MVT::i32, 2, 0, 1,
14, TARGET_VAL(MipsISD::DivRemU16),
OPC_RecordChild0,
OPC_CheckChild0Type, MVT::i32,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 15,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DivuRxRy16), 0|OPFL_GlueOutput,
MVT::i32, 2, 0, 1,
32, TARGET_VAL(MipsISD::MULSAQ_S_W_PH),
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULSAQ_S_W_PH), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
12,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULSAQ_S_W_PH_MM), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
0,
32, TARGET_VAL(MipsISD::MAQ_S_W_PHL),
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAQ_S_W_PHL), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
12,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAQ_S_W_PHL_MM), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
0,
32, TARGET_VAL(MipsISD::MAQ_S_W_PHR),
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAQ_S_W_PHR), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
12,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAQ_S_W_PHR_MM), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
0,
32, TARGET_VAL(MipsISD::MAQ_SA_W_PHL),
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAQ_SA_W_PHL), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
12,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAQ_SA_W_PHL_MM), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
0,
32, TARGET_VAL(MipsISD::MAQ_SA_W_PHR),
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAQ_SA_W_PHR), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
12,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAQ_SA_W_PHR_MM), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
0,
29, TARGET_VAL(MipsISD::DPAU_H_QBL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPAU_H_QBL), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPAU_H_QBL_MM), 0,
MVT::Untyped, 3, 0, 1, 2,
0,
29, TARGET_VAL(MipsISD::DPAU_H_QBR),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPAU_H_QBR), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPAU_H_QBR_MM), 0,
MVT::Untyped, 3, 0, 1, 2,
0,
29, TARGET_VAL(MipsISD::DPSU_H_QBL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSU_H_QBL), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSU_H_QBL_MM), 0,
MVT::Untyped, 3, 0, 1, 2,
0,
29, TARGET_VAL(MipsISD::DPSU_H_QBR),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSU_H_QBR), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSU_H_QBR_MM), 0,
MVT::Untyped, 3, 0, 1, 2,
0,
32, TARGET_VAL(MipsISD::DPAQ_S_W_PH),
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPAQ_S_W_PH), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
12,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPAQ_S_W_PH_MM), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
0,
32, TARGET_VAL(MipsISD::DPSQ_S_W_PH),
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSQ_S_W_PH), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
12,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSQ_S_W_PH_MM), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
0,
32, TARGET_VAL(MipsISD::DPAQ_SA_L_W),
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPAQ_SA_L_W), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
12,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPAQ_SA_L_W_MM), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
0,
32, TARGET_VAL(MipsISD::DPSQ_SA_L_W),
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSQ_SA_L_W), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
12,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSQ_SA_L_W_MM), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
0,
29, TARGET_VAL(MipsISD::MTHLIP),
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 28,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MTHLIP), 0|OPFL_Chain,
MVT::Untyped, 2, 1, 2,
11,
OPC_CheckPatternPredicate, 47,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MTHLIP_MM), 0|OPFL_Chain,
MVT::Untyped, 2, 1, 2,
0,
29, TARGET_VAL(MipsISD::DPA_W_PH),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPA_W_PH), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPA_W_PH_MMR2), 0,
MVT::Untyped, 3, 0, 1, 2,
0,
29, TARGET_VAL(MipsISD::DPS_W_PH),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPS_W_PH), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPS_W_PH_MMR2), 0,
MVT::Untyped, 3, 0, 1, 2,
0,
32, TARGET_VAL(MipsISD::DPAQX_S_W_PH),
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPAQX_S_W_PH), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
12,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPAQX_S_W_PH_MMR2), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
0,
32, TARGET_VAL(MipsISD::DPAQX_SA_W_PH),
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPAQX_SA_W_PH), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
12,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPAQX_SA_W_PH_MMR2), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
0,
29, TARGET_VAL(MipsISD::DPAX_W_PH),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPAX_W_PH), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPAX_W_PH_MMR2), 0,
MVT::Untyped, 3, 0, 1, 2,
0,
29, TARGET_VAL(MipsISD::DPSX_W_PH),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSX_W_PH), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSX_W_PH_MMR2), 0,
MVT::Untyped, 3, 0, 1, 2,
0,
32, TARGET_VAL(MipsISD::DPSQX_S_W_PH),
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSQX_S_W_PH), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
12,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSQX_S_W_PH_MMR2), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
0,
32, TARGET_VAL(MipsISD::DPSQX_SA_W_PH),
OPC_RecordNode,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 48,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSQX_SA_W_PH), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
12,
OPC_CheckPatternPredicate, 49,
OPC_EmitMergeInputChains1_0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DPSQX_SA_W_PH_MMR2), 0|OPFL_Chain,
MVT::Untyped, 3, 1, 2, 3,
0,
29, TARGET_VAL(MipsISD::MULSA_W_PH),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 48,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULSA_W_PH), 0,
MVT::Untyped, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 49,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MULSA_W_PH_MMR2), 0,
MVT::Untyped, 3, 0, 1, 2,
0,
15, TARGET_VAL(ISD::ADDE),
OPC_CaptureGlueInput,
OPC_RecordChild0,
OPC_RecordChild1,
OPC_CheckType, MVT::i32,
OPC_CheckPatternPredicate, 28,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDWC), 0|OPFL_GlueInput|OPFL_GlueOutput,
MVT::i32, 2, 0, 1,
67, TARGET_VAL(ISD::BSWAP),
OPC_RecordChild0,
OPC_SwitchType , 44, MVT::i32,
OPC_Scope, 20,
OPC_CheckPatternPredicate, 56,
OPC_EmitNode1, TARGET_VAL(Mips::WSBH), 0,
MVT::i32, 1, 0,
OPC_EmitInteger, MVT::i32, 32,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ROTR), 0,
MVT::i32, 2, 1, 2,
20,
OPC_CheckPatternPredicate, 8,
OPC_EmitNode1, TARGET_VAL(Mips::WSBH_MM), 0,
MVT::i32, 1, 0,
OPC_EmitInteger, MVT::i32, 32,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ROTR_MM), 0,
MVT::i32, 2, 1, 2,
0,
16, MVT::i64,
OPC_CheckPatternPredicate, 112,
OPC_EmitNode1, TARGET_VAL(Mips::DSBH), 0,
MVT::i64, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DSHD), 0,
MVT::i64, 1, 1,
0,
23, TARGET_VAL(ISD::ANY_EXTEND),
OPC_RecordChild0,
OPC_CheckType, MVT::i64,
OPC_CheckPatternPredicate, 29,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
MVT::i64, 0,
OPC_EmitStringInteger, MVT::i32, Mips::sub_32,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
MVT::i64, 3, 1, 0, 2,
45, TARGET_VAL(MipsISD::DivRem),
OPC_RecordChild0,
OPC_Scope, 27,
OPC_CheckChild0Type, MVT::i32,
OPC_RecordChild1,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 11,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoSDIV), 0,
MVT::Untyped, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 113,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SDIV_MM_Pseudo), 0,
MVT::Untyped, 2, 0, 1,
0,
13,
OPC_CheckChild0Type, MVT::i64,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 46,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoDSDIV), 0,
MVT::Untyped, 2, 0, 1,
0,
45, TARGET_VAL(MipsISD::DivRemU),
OPC_RecordChild0,
OPC_Scope, 27,
OPC_CheckChild0Type, MVT::i32,
OPC_RecordChild1,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 11,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoUDIV), 0,
MVT::Untyped, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 113,
OPC_MorphNodeTo1, TARGET_VAL(Mips::UDIV_MM_Pseudo), 0,
MVT::Untyped, 2, 0, 1,
0,
13,
OPC_CheckChild0Type, MVT::i64,
OPC_RecordChild1,
OPC_CheckPatternPredicate, 46,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoDUDIV), 0,
MVT::Untyped, 2, 0, 1,
0,
90, TARGET_VAL(ISD::SDIV),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DIV), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DIV_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 55,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DDIV), 0,
MVT::i64, 2, 0, 1,
10, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DIV_S_B), 0,
MVT::v16i8, 2, 0, 1,
10, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DIV_S_H), 0,
MVT::v8i16, 2, 0, 1,
10, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DIV_S_W), 0,
MVT::v4i32, 2, 0, 1,
10, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DIV_S_D), 0,
MVT::v2i64, 2, 0, 1,
0,
90, TARGET_VAL(ISD::UDIV),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DIVU), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DIVU_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 55,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DDIVU), 0,
MVT::i64, 2, 0, 1,
10, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DIV_U_B), 0,
MVT::v16i8, 2, 0, 1,
10, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DIV_U_H), 0,
MVT::v8i16, 2, 0, 1,
10, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DIV_U_W), 0,
MVT::v4i32, 2, 0, 1,
10, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DIV_U_D), 0,
MVT::v2i64, 2, 0, 1,
0,
90, TARGET_VAL(ISD::SREM),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOD), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOD_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 55,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DMOD), 0,
MVT::i64, 2, 0, 1,
10, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOD_S_B), 0,
MVT::v16i8, 2, 0, 1,
10, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOD_S_H), 0,
MVT::v8i16, 2, 0, 1,
10, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOD_S_W), 0,
MVT::v4i32, 2, 0, 1,
10, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOD_S_D), 0,
MVT::v2i64, 2, 0, 1,
0,
90, TARGET_VAL(ISD::UREM),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 24, MVT::i32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 33,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MODU), 0,
MVT::i32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MODU_MMR6), 0,
MVT::i32, 2, 0, 1,
0,
10, MVT::i64,
OPC_CheckPatternPredicate, 55,
OPC_MorphNodeTo1, TARGET_VAL(Mips::DMODU), 0,
MVT::i64, 2, 0, 1,
10, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOD_U_B), 0,
MVT::v16i8, 2, 0, 1,
10, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOD_U_H), 0,
MVT::v8i16, 2, 0, 1,
10, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOD_U_W), 0,
MVT::v4i32, 2, 0, 1,
10, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MOD_U_D), 0,
MVT::v2i64, 2, 0, 1,
0,
45, TARGET_VAL(MipsISD::VALL_NONZERO),
OPC_RecordChild0,
OPC_CheckType, MVT::i32,
OPC_Scope, 9,
OPC_CheckChild0Type, MVT::v16i8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SNZ_B_PSEUDO), 0,
MVT::i32, 1, 0,
9,
OPC_CheckChild0Type, MVT::v8i16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SNZ_H_PSEUDO), 0,
MVT::i32, 1, 0,
9,
OPC_CheckChild0Type, MVT::v4i32,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SNZ_W_PSEUDO), 0,
MVT::i32, 1, 0,
9,
OPC_CheckChild0Type, MVT::v2i64,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SNZ_D_PSEUDO), 0,
MVT::i32, 1, 0,
0,
12, TARGET_VAL(MipsISD::VANY_NONZERO),
OPC_RecordChild0,
OPC_CheckChild0Type, MVT::v16i8,
OPC_CheckType, MVT::i32,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SNZ_V_PSEUDO), 0,
MVT::i32, 1, 0,
45, TARGET_VAL(MipsISD::VALL_ZERO),
OPC_RecordChild0,
OPC_CheckType, MVT::i32,
OPC_Scope, 9,
OPC_CheckChild0Type, MVT::v16i8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SZ_B_PSEUDO), 0,
MVT::i32, 1, 0,
9,
OPC_CheckChild0Type, MVT::v8i16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SZ_H_PSEUDO), 0,
MVT::i32, 1, 0,
9,
OPC_CheckChild0Type, MVT::v4i32,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SZ_W_PSEUDO), 0,
MVT::i32, 1, 0,
9,
OPC_CheckChild0Type, MVT::v2i64,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SZ_D_PSEUDO), 0,
MVT::i32, 1, 0,
0,
12, TARGET_VAL(MipsISD::VANY_ZERO),
OPC_RecordChild0,
OPC_CheckChild0Type, MVT::v16i8,
OPC_CheckType, MVT::i32,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SZ_V_PSEUDO), 0,
MVT::i32, 1, 0,
7|128,3, TARGET_VAL(ISD::FSUB),
OPC_Scope, 101|128,1,
OPC_MoveChild0,
OPC_SwitchOpcode , 44|128,1, TARGET_VAL(ISD::ConstantFP),
OPC_CheckPredicate, 61,
OPC_MoveParent,
OPC_MoveChild1,
OPC_SwitchOpcode , 108, TARGET_VAL(ISD::FADD),
OPC_Scope, 52,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_RecordChild1,
OPC_MoveParent,
OPC_SwitchType , 11, MVT::f32,
OPC_CheckPatternPredicate, 114,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMADD_S), 0,
MVT::f32, 3, 2, 0, 1,
26, MVT::f64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 115,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMADD_D32), 0,
MVT::f64, 3, 2, 0, 1,
11,
OPC_CheckPatternPredicate, 116,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMADD_D64), 0,
MVT::f64, 3, 2, 0, 1,
0,
0,
52,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_MoveParent,
OPC_SwitchType , 11, MVT::f32,
OPC_CheckPatternPredicate, 114,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMADD_S), 0,
MVT::f32, 3, 0, 1, 2,
26, MVT::f64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 115,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMADD_D32), 0,
MVT::f64, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 116,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMADD_D64), 0,
MVT::f64, 3, 0, 1, 2,
0,
0,
0,
52, TARGET_VAL(ISD::FSUB),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_RecordChild1,
OPC_MoveParent,
OPC_SwitchType , 11, MVT::f32,
OPC_CheckPatternPredicate, 114,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMSUB_S), 0,
MVT::f32, 3, 2, 0, 1,
26, MVT::f64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 115,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMSUB_D32), 0,
MVT::f64, 3, 2, 0, 1,
11,
OPC_CheckPatternPredicate, 116,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMSUB_D64), 0,
MVT::f64, 3, 2, 0, 1,
0,
0,
0,
47, TARGET_VAL(ISD::FMUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_RecordChild1,
OPC_SwitchType , 11, MVT::f32,
OPC_CheckPatternPredicate, 117,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSUB_S), 0,
MVT::f32, 3, 2, 0, 1,
26, MVT::f64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 118,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSUB_D32), 0,
MVT::f64, 3, 2, 0, 1,
11,
OPC_CheckPatternPredicate, 119,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSUB_D64), 0,
MVT::f64, 3, 2, 0, 1,
0,
0,
0,
28|128,1,
OPC_RecordChild0,
OPC_Scope, 88,
OPC_RecordChild1,
OPC_SwitchType , 35, MVT::f32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 17,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSUB_S), 0,
MVT::f32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 18,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSUB_S_MM), 0,
MVT::f32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSUB_S_MMR6), 0,
MVT::f32, 2, 1, 0,
0,
46, MVT::f64,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 120,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSUB_D32), 0,
MVT::f64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 121,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSUB_D64), 0,
MVT::f64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 21,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSUB_D32_MM), 0,
MVT::f64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 22,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSUB_D64_MM), 0,
MVT::f64, 2, 0, 1,
0,
0,
35,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_SwitchType , 11, MVT::v4f32,
OPC_CheckPatternPredicate, 122,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMSUB_W), 0,
MVT::v4f32, 3, 0, 1, 2,
11, MVT::v2f64,
OPC_CheckPatternPredicate, 122,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMSUB_D), 0,
MVT::v2f64, 3, 0, 1, 2,
0,
27,
OPC_RecordChild1,
OPC_SwitchType , 10, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSUB_W), 0,
MVT::v4f32, 2, 0, 1,
10, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSUB_D), 0,
MVT::v2f64, 2, 0, 1,
0,
0,
0,
81|128,2, TARGET_VAL(ISD::FNEG),
OPC_Scope, 123|128,1,
OPC_MoveChild0,
OPC_SwitchOpcode , 34|128,1, TARGET_VAL(ISD::FADD),
OPC_Scope, 79,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_RecordChild1,
OPC_MoveParent,
OPC_SwitchType , 26, MVT::f32,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 123,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMADD_S), 0,
MVT::f32, 3, 2, 0, 1,
11,
OPC_CheckPatternPredicate, 124,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMADD_S_MM), 0,
MVT::f32, 3, 2, 0, 1,
0,
38, MVT::f64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 125,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMADD_D32), 0,
MVT::f64, 3, 2, 0, 1,
11,
OPC_CheckPatternPredicate, 126,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMADD_D64), 0,
MVT::f64, 3, 2, 0, 1,
11,
OPC_CheckPatternPredicate, 127,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMADD_D32_MM), 0,
MVT::f64, 3, 2, 0, 1,
0,
0,
79,
OPC_RecordChild0,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_MoveParent,
OPC_SwitchType , 26, MVT::f32,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 123,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMADD_S), 0,
MVT::f32, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 124,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMADD_S_MM), 0,
MVT::f32, 3, 0, 1, 2,
0,
38, MVT::f64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 125,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMADD_D32), 0,
MVT::f64, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 126,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMADD_D64), 0,
MVT::f64, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 127,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMADD_D32_MM), 0,
MVT::f64, 3, 0, 1, 2,
0,
0,
0,
79, TARGET_VAL(ISD::FSUB),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_RecordChild1,
OPC_MoveParent,
OPC_SwitchType , 26, MVT::f32,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 123,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMSUB_S), 0,
MVT::f32, 3, 2, 0, 1,
11,
OPC_CheckPatternPredicate, 124,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMSUB_S_MM), 0,
MVT::f32, 3, 2, 0, 1,
0,
38, MVT::f64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 125,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMSUB_D32), 0,
MVT::f64, 3, 2, 0, 1,
11,
OPC_CheckPatternPredicate, 126,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMSUB_D64), 0,
MVT::f64, 3, 2, 0, 1,
11,
OPC_CheckPatternPredicate, 127,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NMSUB_D32_MM), 0,
MVT::f64, 3, 2, 0, 1,
0,
0,
0,
81,
OPC_RecordChild0,
OPC_SwitchType , 32, MVT::f32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 128,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FNEG_S), 0,
MVT::f32, 1, 0,
9,
OPC_CheckPatternPredicate, 18,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FNEG_S_MM), 0,
MVT::f32, 1, 0,
9,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FNEG_S_MMR6), 0,
MVT::f32, 1, 0,
0,
42, MVT::f64,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 120,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FNEG_D32), 0,
MVT::f64, 1, 0,
9,
OPC_CheckPatternPredicate, 121,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FNEG_D64), 0,
MVT::f64, 1, 0,
9,
OPC_CheckPatternPredicate, 21,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FNEG_D32_MM), 0,
MVT::f64, 1, 0,
9,
OPC_CheckPatternPredicate, 22,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FNEG_D64_MM), 0,
MVT::f64, 1, 0,
0,
0,
0,
45|128,2, TARGET_VAL(ISD::FADD),
OPC_Scope, 51,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_RecordChild1,
OPC_SwitchType , 11, MVT::f32,
OPC_CheckPatternPredicate, 117,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADD_S), 0,
MVT::f32, 3, 2, 0, 1,
26, MVT::f64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 118,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADD_D32), 0,
MVT::f64, 3, 2, 0, 1,
11,
OPC_CheckPatternPredicate, 119,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADD_D64), 0,
MVT::f64, 3, 2, 0, 1,
0,
0,
51|128,1,
OPC_RecordChild0,
OPC_Scope, 50,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_SwitchType , 11, MVT::f32,
OPC_CheckPatternPredicate, 117,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADD_S), 0,
MVT::f32, 3, 0, 1, 2,
26, MVT::f64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 118,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADD_D32), 0,
MVT::f64, 3, 0, 1, 2,
11,
OPC_CheckPatternPredicate, 119,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MADD_D64), 0,
MVT::f64, 3, 0, 1, 2,
0,
0,
88,
OPC_RecordChild1,
OPC_SwitchType , 35, MVT::f32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 17,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FADD_S), 0,
MVT::f32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 18,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FADD_S_MM), 0,
MVT::f32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FADD_S_MMR6), 0,
MVT::f32, 2, 1, 0,
0,
46, MVT::f64,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 120,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FADD_D32), 0,
MVT::f64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 121,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FADD_D64), 0,
MVT::f64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 21,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FADD_D32_MM), 0,
MVT::f64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 22,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FADD_D64_MM), 0,
MVT::f64, 2, 0, 1,
0,
0,
35,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_SwitchType , 11, MVT::v4f32,
OPC_CheckPatternPredicate, 122,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMADD_W), 0,
MVT::v4f32, 3, 0, 1, 2,
11, MVT::v2f64,
OPC_CheckPatternPredicate, 122,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMADD_D), 0,
MVT::v2f64, 3, 0, 1, 2,
0,
0,
36,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveParent,
OPC_RecordChild1,
OPC_SwitchType , 11, MVT::v4f32,
OPC_CheckPatternPredicate, 122,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMADD_W), 0,
MVT::v4f32, 3, 2, 0, 1,
11, MVT::v2f64,
OPC_CheckPatternPredicate, 122,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMADD_D), 0,
MVT::v2f64, 3, 2, 0, 1,
0,
28,
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 10, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FADD_W), 0,
MVT::v4f32, 2, 0, 1,
10, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FADD_D), 0,
MVT::v2f64, 2, 0, 1,
0,
0,
28|128,1, TARGET_VAL(ISD::ConstantFP),
OPC_Scope, 62,
OPC_CheckPredicate, 61,
OPC_SwitchType , 41, MVT::f32,
OPC_Scope, 12,
OPC_CheckPatternPredicate, 75,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MTC1), 0,
MVT::f32, 1, 0,
12,
OPC_CheckPatternPredicate, 30,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MTC1_MM), 0,
MVT::f32, 1, 0,
12,
OPC_CheckPatternPredicate, 16,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MTC1_MMR6), 0,
MVT::f32, 1, 0,
0,
13, MVT::f64,
OPC_CheckPatternPredicate, 129,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_MorphNodeTo1, TARGET_VAL(Mips::DMTC1), 0,
MVT::f64, 1, 0,
0,
90,
OPC_CheckPredicate, 62,
OPC_SwitchType , 62, MVT::f32,
OPC_Scope, 19,
OPC_CheckPatternPredicate, 75,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitNode1, TARGET_VAL(Mips::MTC1), 0,
MVT::f32, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FNEG_S), 0,
MVT::f32, 1, 1,
19,
OPC_CheckPatternPredicate, 30,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitNode1, TARGET_VAL(Mips::MTC1_MM), 0,
MVT::f32, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FNEG_S_MM), 0,
MVT::f32, 1, 1,
19,
OPC_CheckPatternPredicate, 16,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitNode1, TARGET_VAL(Mips::MTC1_MMR6), 0,
MVT::f32, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FNEG_S_MMR6), 0,
MVT::f32, 1, 1,
0,
20, MVT::f64,
OPC_CheckPatternPredicate, 129,
OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
OPC_EmitNode1, TARGET_VAL(Mips::DMTC1), 0,
MVT::f64, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FNEG_D64), 0,
MVT::f64, 1, 1,
0,
0,
93, TARGET_VAL(ISD::FABS),
OPC_RecordChild0,
OPC_SwitchType , 22, MVT::f32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 130,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FABS_S), 0,
MVT::f32, 1, 0,
9,
OPC_CheckPatternPredicate, 131,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FABS_S_MM), 0,
MVT::f32, 1, 0,
0,
42, MVT::f64,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 132,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FABS_D32), 0,
MVT::f64, 1, 0,
9,
OPC_CheckPatternPredicate, 133,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FABS_D64), 0,
MVT::f64, 1, 0,
9,
OPC_CheckPatternPredicate, 21,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FABS_D32_MM), 0,
MVT::f64, 1, 0,
9,
OPC_CheckPatternPredicate, 22,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FABS_D64_MM), 0,
MVT::f64, 1, 0,
0,
9, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FABS_W), 0,
MVT::v4f32, 1, 0,
9, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FABS_D), 0,
MVT::v2f64, 1, 0,
0,
93, TARGET_VAL(ISD::FSQRT),
OPC_RecordChild0,
OPC_SwitchType , 22, MVT::f32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 134,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSQRT_S), 0,
MVT::f32, 1, 0,
9,
OPC_CheckPatternPredicate, 18,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSQRT_S_MM), 0,
MVT::f32, 1, 0,
0,
42, MVT::f64,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 20,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSQRT_D32), 0,
MVT::f64, 1, 0,
9,
OPC_CheckPatternPredicate, 19,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSQRT_D64), 0,
MVT::f64, 1, 0,
9,
OPC_CheckPatternPredicate, 21,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSQRT_D32_MM), 0,
MVT::f64, 1, 0,
9,
OPC_CheckPatternPredicate, 22,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSQRT_D64_MM), 0,
MVT::f64, 1, 0,
0,
9, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSQRT_W), 0,
MVT::v4f32, 1, 0,
9, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FSQRT_D), 0,
MVT::v2f64, 1, 0,
0,
113, TARGET_VAL(ISD::FDIV),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 35, MVT::f32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 17,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FDIV_S), 0,
MVT::f32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 18,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FDIV_S_MM), 0,
MVT::f32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FDIV_S_MMR6), 0,
MVT::f32, 2, 1, 0,
0,
46, MVT::f64,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 120,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FDIV_D32), 0,
MVT::f64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 121,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FDIV_D64), 0,
MVT::f64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 21,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FDIV_D32_MM), 0,
MVT::f64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 22,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FDIV_D64_MM), 0,
MVT::f64, 2, 0, 1,
0,
10, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FDIV_W), 0,
MVT::v4f32, 2, 0, 1,
10, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FDIV_D), 0,
MVT::v2f64, 2, 0, 1,
0,
63|128,1, TARGET_VAL(ISD::FMUL),
OPC_Scope, 125,
OPC_RecordChild0,
OPC_Scope, 88,
OPC_RecordChild1,
OPC_SwitchType , 35, MVT::f32,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 17,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMUL_S), 0,
MVT::f32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 18,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMUL_S_MM), 0,
MVT::f32, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 68,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMUL_S_MMR6), 0,
MVT::f32, 2, 1, 0,
0,
46, MVT::f64,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 120,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMUL_D32), 0,
MVT::f64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 121,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMUL_D64), 0,
MVT::f64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 21,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMUL_D32_MM), 0,
MVT::f64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 22,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMUL_D64_MM), 0,
MVT::f64, 2, 0, 1,
0,
0,
32,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::FEXP2),
OPC_RecordChild0,
OPC_MoveParent,
OPC_SwitchType , 10, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FEXP2_W), 0,
MVT::v4f32, 2, 0, 1,
10, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FEXP2_D), 0,
MVT::v2f64, 2, 0, 1,
0,
0,
33,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::FEXP2),
OPC_RecordChild0,
OPC_MoveParent,
OPC_RecordChild1,
OPC_SwitchType , 10, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FEXP2_W), 0,
MVT::v4f32, 2, 1, 0,
10, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FEXP2_D), 0,
MVT::v2f64, 2, 1, 0,
0,
28,
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 10, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMUL_W), 0,
MVT::v4f32, 2, 0, 1,
10, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMUL_D), 0,
MVT::v2f64, 2, 0, 1,
0,
0,
26, TARGET_VAL(MipsISD::BuildPairF64),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_Scope, 10,
OPC_CheckPatternPredicate, 91,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BuildPairF64), 0,
MVT::f64, 2, 0, 1,
10,
OPC_CheckPatternPredicate, 92,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BuildPairF64_64), 0,
MVT::f64, 2, 0, 1,
0,
107, TARGET_VAL(ISD::SINT_TO_FP),
OPC_RecordChild0,
OPC_Scope, 37,
OPC_CheckChild0Type, MVT::i32,
OPC_SwitchType , 7, MVT::f32,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoCVT_S_W), 0,
MVT::f32, 1, 0,
22, MVT::f64,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 135,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoCVT_D32_W), 0,
MVT::f64, 1, 0,
9,
OPC_CheckPatternPredicate, 136,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoCVT_D64_W), 0,
MVT::f64, 1, 0,
0,
0,
37,
OPC_CheckChild0Type, MVT::i64,
OPC_SwitchType , 9, MVT::f64,
OPC_CheckPatternPredicate, 136,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoCVT_D64_L), 0,
MVT::f64, 1, 0,
20, MVT::f32,
OPC_CheckPatternPredicate, 136,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCVT_S_L), 0,
MVT::f64, 1, 0,
OPC_EmitStringInteger, MVT::i32, Mips::sub_lo,
OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
MVT::f32, 2, 1, 2,
0,
13,
OPC_CheckChild0Type, MVT::v4i32,
OPC_CheckType, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FFINT_S_W), 0,
MVT::v4f32, 1, 0,
13,
OPC_CheckChild0Type, MVT::v2i64,
OPC_CheckType, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FFINT_S_D), 0,
MVT::v2f64, 1, 0,
0,
16|128,1, TARGET_VAL(MipsISD::TruncIntFP),
OPC_RecordChild0,
OPC_Scope, 49,
OPC_CheckChild0Type, MVT::f32,
OPC_SwitchType , 32, MVT::f32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 75,
OPC_MorphNodeTo1, TARGET_VAL(Mips::TRUNC_W_S), 0,
MVT::f32, 1, 0,
9,
OPC_CheckPatternPredicate, 30,
OPC_MorphNodeTo1, TARGET_VAL(Mips::TRUNC_W_S_MM), 0,
MVT::f32, 1, 0,
9,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::TRUNC_W_S_MMR6), 0,
MVT::f32, 1, 0,
0,
9, MVT::f64,
OPC_CheckPatternPredicate, 137,
OPC_MorphNodeTo1, TARGET_VAL(Mips::TRUNC_L_S), 0,
MVT::f64, 1, 0,
0,
69,
OPC_CheckChild0Type, MVT::f64,
OPC_SwitchType , 52, MVT::f32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 138,
OPC_MorphNodeTo1, TARGET_VAL(Mips::TRUNC_W_D32), 0,
MVT::f32, 1, 0,
9,
OPC_CheckPatternPredicate, 137,
OPC_MorphNodeTo1, TARGET_VAL(Mips::TRUNC_W_D64), 0,
MVT::f32, 1, 0,
9,
OPC_CheckPatternPredicate, 41,
OPC_MorphNodeTo1, TARGET_VAL(Mips::TRUNC_W_MM), 0,
MVT::f32, 1, 0,
9,
OPC_CheckPatternPredicate, 139,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CVT_W_D64_MM), 0,
MVT::f32, 1, 0,
9,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::TRUNC_W_D_MMR6), 0,
MVT::f32, 1, 0,
0,
9, MVT::f64,
OPC_CheckPatternPredicate, 137,
OPC_MorphNodeTo1, TARGET_VAL(Mips::TRUNC_L_D64), 0,
MVT::f64, 1, 0,
0,
20,
OPC_CheckChild0Type, MVT::f16,
OPC_CheckType, MVT::f32,
OPC_CheckPatternPredicate, 26,
OPC_EmitNode1, TARGET_VAL(Mips::MSA_FP_EXTEND_D_PSEUDO), 0,
MVT::f64, 1, 0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::TRUNC_W_D64), 0,
MVT::f32, 1, 1,
0,
23, TARGET_VAL(MipsISD::MTC1_D64),
OPC_RecordChild0,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 140,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MTC1_D64), 0,
MVT::f64, 1, 0,
9,
OPC_CheckPatternPredicate, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MTC1_D64_MM), 0,
MVT::f64, 1, 0,
0,
75, TARGET_VAL(ISD::FP_ROUND),
OPC_RecordChild0,
OPC_SwitchType , 42, MVT::f32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CVT_S_D32), 0,
MVT::f32, 1, 0,
9,
OPC_CheckPatternPredicate, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CVT_S_D64), 0,
MVT::f32, 1, 0,
9,
OPC_CheckPatternPredicate, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CVT_S_D64_MM), 0,
MVT::f32, 1, 0,
9,
OPC_CheckPatternPredicate, 3,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CVT_S_D32_MM), 0,
MVT::f32, 1, 0,
0,
26, MVT::f16,
OPC_Scope, 11,
OPC_CheckChild0Type, MVT::f32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSA_FP_ROUND_W_PSEUDO), 0,
MVT::f16, 1, 0,
11,
OPC_CheckChild0Type, MVT::f64,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSA_FP_ROUND_D_PSEUDO), 0,
MVT::f16, 1, 0,
0,
0,
75, TARGET_VAL(ISD::FP_EXTEND),
OPC_RecordChild0,
OPC_SwitchType , 59, MVT::f64,
OPC_Scope, 44,
OPC_CheckChild0Type, MVT::f32,
OPC_Scope, 9,
OPC_CheckPatternPredicate, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CVT_D32_S), 0,
MVT::f64, 1, 0,
9,
OPC_CheckPatternPredicate, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CVT_D64_S), 0,
MVT::f64, 1, 0,
9,
OPC_CheckPatternPredicate, 4,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CVT_D64_S_MM), 0,
MVT::f64, 1, 0,
9,
OPC_CheckPatternPredicate, 3,
OPC_MorphNodeTo1, TARGET_VAL(Mips::CVT_D32_S_MM), 0,
MVT::f64, 1, 0,
0,
11,
OPC_CheckChild0Type, MVT::f16,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSA_FP_EXTEND_D_PSEUDO), 0,
MVT::f64, 1, 0,
0,
9, MVT::f32,
OPC_CheckPatternPredicate, 27,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MSA_FP_EXTEND_W_PSEUDO), 0,
MVT::f32, 1, 0,
0,
33, TARGET_VAL(MipsISD::FSELECT),
OPC_RecordChild0,
OPC_CheckChild0Type, MVT::f64,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::f64,
OPC_Scope, 11,
OPC_CheckPatternPredicate, 42,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SEL_D), 0,
MVT::f64, 3, 0, 2, 1,
11,
OPC_CheckPatternPredicate, 16,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SEL_D_MMR6), 0,
MVT::f64, 3, 0, 2, 1,
0,
124|128,2, TARGET_VAL(MipsISD::VSHF),
OPC_Scope, 88,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::AND),
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_Scope, 36,
OPC_RecordChild0,
OPC_CheckChild0Type, MVT::i32,
OPC_CheckChild1Same, 0,
OPC_CheckChild2Same, 0,
OPC_CheckChild3Same, 0,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckChild2Same, 1,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SPLAT_D), 0,
MVT::v2i64, 2, 1, 0,
36,
OPC_MoveParent,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_RecordChild0,
OPC_CheckChild0Type, MVT::i32,
OPC_CheckChild1Same, 0,
OPC_CheckChild2Same, 0,
OPC_CheckChild3Same, 0,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckChild2Same, 1,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SPLAT_D), 0,
MVT::v2i64, 2, 1, 0,
0,
83,
OPC_RecordChild0,
OPC_SwitchType , 18, MVT::v16i8,
OPC_CheckChild0Type, MVT::v16i8,
OPC_RecordChild1,
OPC_CheckChild2Same, 1,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/27, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SPLATI_B), 0,
MVT::v16i8, 2, 1, 2,
18, MVT::v8i16,
OPC_CheckChild0Type, MVT::v8i16,
OPC_RecordChild1,
OPC_CheckChild2Same, 1,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/28, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SPLATI_H), 0,
MVT::v8i16, 2, 1, 2,
18, MVT::v4i32,
OPC_CheckChild0Type, MVT::v4i32,
OPC_RecordChild1,
OPC_CheckChild2Same, 1,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/29, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SPLATI_W), 0,
MVT::v4i32, 2, 1, 2,
18, MVT::v2i64,
OPC_CheckChild0Type, MVT::v2i64,
OPC_RecordChild1,
OPC_CheckChild2Same, 1,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/30, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SPLATI_D), 0,
MVT::v2i64, 2, 1, 2,
0,
3|128,1,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_RecordChild0,
OPC_CheckChild0Type, MVT::i32,
OPC_CheckChild1Same, 0,
OPC_CheckChild2Same, 0,
OPC_CheckChild3Same, 0,
OPC_Scope, 96,
OPC_MoveChild4,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_Scope, 58,
OPC_MoveChild, 8,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckChild2Same, 1,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SPLAT_B), 0,
MVT::v16i8, 2, 1, 0,
18,
OPC_CheckType, MVT::v8i16,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckChild2Same, 1,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SPLAT_H), 0,
MVT::v8i16, 2, 1, 0,
0,
18,
OPC_CheckType, MVT::v4i32,
OPC_MoveParent,
OPC_RecordChild1,
OPC_CheckChild2Same, 1,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SPLAT_W), 0,
MVT::v4i32, 2, 1, 0,
0,
71,
OPC_RecordChild0,
OPC_SwitchType , 15, MVT::v16i8,
OPC_CheckChild0Type, MVT::v16i8,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::VSHF_B), 0,
MVT::v16i8, 3, 0, 1, 2,
15, MVT::v8i16,
OPC_CheckChild0Type, MVT::v8i16,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::VSHF_H), 0,
MVT::v8i16, 3, 0, 1, 2,
15, MVT::v4i32,
OPC_CheckChild0Type, MVT::v4i32,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::VSHF_W), 0,
MVT::v4i32, 3, 0, 1, 2,
15, MVT::v2i64,
OPC_CheckChild0Type, MVT::v2i64,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::VSHF_D), 0,
MVT::v2i64, 3, 0, 1, 2,
0,
0,
124, TARGET_VAL(MipsISD::INSVE),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_Scope, 28,
OPC_CheckPredicate, 28,
OPC_MoveParent,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 3,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSVE_B), 0,
MVT::v16i8, 4, 0, 1, 2, 4,
28,
OPC_CheckPredicate, 29,
OPC_MoveParent,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 3,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSVE_H), 0,
MVT::v8i16, 4, 0, 1, 2, 4,
28,
OPC_CheckPredicate, 30,
OPC_MoveParent,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 3,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSVE_W), 0,
MVT::v4i32, 4, 0, 1, 2, 4,
28,
OPC_CheckPredicate, 34,
OPC_MoveParent,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild3,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 22,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 3,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSVE_D), 0,
MVT::v2i64, 4, 0, 1, 2, 4,
0,
64|128,2, TARGET_VAL(ISD::VSELECT),
OPC_RecordChild0,
OPC_Scope, 36,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 14, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/31, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BINSLI_B), 0,
MVT::v16i8, 3, 2, 1, 3,
14, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/32, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BINSLI_H), 0,
MVT::v8i16, 3, 2, 1, 3,
0,
20,
OPC_CheckChild0Type, MVT::v4i32,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/33, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BINSLI_W), 0,
MVT::v4i32, 3, 2, 1, 3,
20,
OPC_CheckChild0Type, MVT::v2i64,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/34, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BINSLI_D), 0,
MVT::v2i64, 3, 2, 1, 3,
36,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 14, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/35, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BINSRI_B), 0,
MVT::v16i8, 3, 2, 1, 3,
14, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/36, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BINSRI_H), 0,
MVT::v8i16, 3, 2, 1, 3,
0,
20,
OPC_CheckChild0Type, MVT::v4i32,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/37, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BINSRI_W), 0,
MVT::v4i32, 3, 2, 1, 3,
20,
OPC_CheckChild0Type, MVT::v2i64,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_CheckComplexPat, /*CP*/38, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BINSRI_D), 0,
MVT::v2i64, 3, 2, 1, 3,
92,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 73, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 25,
OPC_CheckComplexPat, /*CP*/14, /*#*/0,
OPC_Scope, 9,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BMNZI_B), 0,
MVT::v16i8, 3, 2, 1, 3,
9,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BMZI_B), 0,
MVT::v16i8, 3, 1, 2, 3,
0,
12,
OPC_CheckComplexPat, /*CP*/14, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSELI_B), 0,
MVT::v16i8, 3, 0, 2, 3,
9,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BMNZ_V), 0,
MVT::v16i8, 3, 2, 1, 0,
9,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BMZ_V), 0,
MVT::v16i8, 3, 1, 2, 0,
9,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSEL_V), 0,
MVT::v16i8, 3, 0, 2, 1,
0,
11, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSEL_H_PSEUDO), 0,
MVT::v8i16, 3, 0, 2, 1,
0,
32,
OPC_CheckChild0Type, MVT::v4i32,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 11, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSEL_W_PSEUDO), 0,
MVT::v4i32, 3, 0, 2, 1,
11, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSEL_FW_PSEUDO), 0,
MVT::v4f32, 3, 0, 2, 1,
0,
32,
OPC_CheckChild0Type, MVT::v2i64,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 11, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSEL_D_PSEUDO), 0,
MVT::v2i64, 3, 0, 2, 1,
11, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::BSEL_FD_PSEUDO), 0,
MVT::v2f64, 3, 0, 2, 1,
0,
0,
32|128,1, TARGET_VAL(ISD::SMAX),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 37, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/20, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAXI_S_B), 0,
MVT::v16i8, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/20, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAXI_S_B), 0,
MVT::v16i8, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAX_S_B), 0,
MVT::v16i8, 2, 0, 1,
0,
37, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/21, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAXI_S_H), 0,
MVT::v8i16, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/21, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAXI_S_H), 0,
MVT::v8i16, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAX_S_H), 0,
MVT::v8i16, 2, 0, 1,
0,
37, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/22, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAXI_S_W), 0,
MVT::v4i32, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/22, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAXI_S_W), 0,
MVT::v4i32, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAX_S_W), 0,
MVT::v4i32, 2, 0, 1,
0,
37, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/23, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAXI_S_D), 0,
MVT::v2i64, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/23, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAXI_S_D), 0,
MVT::v2i64, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAX_S_D), 0,
MVT::v2i64, 2, 0, 1,
0,
0,
32|128,1, TARGET_VAL(ISD::UMAX),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 37, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/16, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAXI_U_B), 0,
MVT::v16i8, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/16, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAXI_U_B), 0,
MVT::v16i8, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAX_U_B), 0,
MVT::v16i8, 2, 0, 1,
0,
37, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/17, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAXI_U_H), 0,
MVT::v8i16, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/17, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAXI_U_H), 0,
MVT::v8i16, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAX_U_H), 0,
MVT::v8i16, 2, 0, 1,
0,
37, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/18, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAXI_U_W), 0,
MVT::v4i32, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/18, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAXI_U_W), 0,
MVT::v4i32, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAX_U_W), 0,
MVT::v4i32, 2, 0, 1,
0,
37, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/19, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAXI_U_D), 0,
MVT::v2i64, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/19, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAXI_U_D), 0,
MVT::v2i64, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MAX_U_D), 0,
MVT::v2i64, 2, 0, 1,
0,
0,
32|128,1, TARGET_VAL(ISD::SMIN),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 37, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/20, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MINI_S_B), 0,
MVT::v16i8, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/20, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MINI_S_B), 0,
MVT::v16i8, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MIN_S_B), 0,
MVT::v16i8, 2, 0, 1,
0,
37, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/21, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MINI_S_H), 0,
MVT::v8i16, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/21, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MINI_S_H), 0,
MVT::v8i16, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MIN_S_H), 0,
MVT::v8i16, 2, 0, 1,
0,
37, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/22, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MINI_S_W), 0,
MVT::v4i32, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/22, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MINI_S_W), 0,
MVT::v4i32, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MIN_S_W), 0,
MVT::v4i32, 2, 0, 1,
0,
37, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/23, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MINI_S_D), 0,
MVT::v2i64, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/23, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MINI_S_D), 0,
MVT::v2i64, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MIN_S_D), 0,
MVT::v2i64, 2, 0, 1,
0,
0,
32|128,1, TARGET_VAL(ISD::UMIN),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 37, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/16, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MINI_U_B), 0,
MVT::v16i8, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/16, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MINI_U_B), 0,
MVT::v16i8, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MIN_U_B), 0,
MVT::v16i8, 2, 0, 1,
0,
37, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/17, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MINI_U_H), 0,
MVT::v8i16, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/17, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MINI_U_H), 0,
MVT::v8i16, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MIN_U_H), 0,
MVT::v8i16, 2, 0, 1,
0,
37, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/18, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MINI_U_W), 0,
MVT::v4i32, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/18, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MINI_U_W), 0,
MVT::v4i32, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MIN_U_W), 0,
MVT::v4i32, 2, 0, 1,
0,
37, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/19, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MINI_U_D), 0,
MVT::v2i64, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/19, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MINI_U_D), 0,
MVT::v2i64, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::MIN_U_D), 0,
MVT::v2i64, 2, 0, 1,
0,
0,
79, TARGET_VAL(MipsISD::VNOR),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 37, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_Scope, 11,
OPC_CheckComplexPat, /*CP*/14, /*#*/1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NORI_B), 0,
MVT::v16i8, 2, 0, 2,
11,
OPC_CheckComplexPat, /*CP*/14, /*#*/0,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NORI_B), 0,
MVT::v16i8, 2, 1, 2,
8,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR_V), 0,
MVT::v16i8, 2, 0, 1,
0,
10, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR_V_H_PSEUDO), 0,
MVT::v8i16, 2, 0, 1,
10, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR_V_W_PSEUDO), 0,
MVT::v4i32, 2, 0, 1,
10, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::NOR_V_D_PSEUDO), 0,
MVT::v2i64, 2, 0, 1,
0,
90|128,2, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_Scope, 29|128,1,
OPC_CheckChild1Type, MVT::i32,
OPC_RecordChild2,
OPC_Scope, 63,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_Scope, 18,
OPC_CheckPredicate, 28,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_B), 0,
MVT::v16i8, 3, 0, 1, 3,
18,
OPC_CheckPredicate, 29,
OPC_MoveParent,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_H), 0,
MVT::v8i16, 3, 0, 1, 3,
18,
OPC_CheckPredicate, 30,
OPC_MoveParent,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_W), 0,
MVT::v4i32, 3, 0, 1, 3,
0,
43,
OPC_CheckChild2Type, MVT::i32,
OPC_SwitchType , 11, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_B_VIDX_PSEUDO), 0,
MVT::v16i8, 3, 0, 2, 1,
11, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_H_VIDX_PSEUDO), 0,
MVT::v8i16, 3, 0, 2, 1,
11, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_W_VIDX_PSEUDO), 0,
MVT::v4i32, 3, 0, 2, 1,
0,
43,
OPC_CheckChild2Type, MVT::i64,
OPC_SwitchType , 11, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_B_VIDX64_PSEUDO), 0,
MVT::v16i8, 3, 0, 2, 1,
11, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_H_VIDX64_PSEUDO), 0,
MVT::v8i16, 3, 0, 2, 1,
11, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_W_VIDX64_PSEUDO), 0,
MVT::v4i32, 3, 0, 2, 1,
0,
0,
60,
OPC_CheckChild1Type, MVT::i64,
OPC_RecordChild2,
OPC_Scope, 22,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 34,
OPC_MoveParent,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 61,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_D), 0,
MVT::v2i64, 3, 0, 1, 3,
15,
OPC_CheckChild2Type, MVT::i32,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_D_VIDX_PSEUDO), 0,
MVT::v2i64, 3, 0, 2, 1,
15,
OPC_CheckChild2Type, MVT::i64,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_D_VIDX64_PSEUDO), 0,
MVT::v2i64, 3, 0, 2, 1,
0,
60,
OPC_CheckChild1Type, MVT::f32,
OPC_RecordChild2,
OPC_Scope, 22,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 30,
OPC_MoveParent,
OPC_CheckType, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_FW_PSEUDO), 0,
MVT::v4f32, 3, 0, 3, 1,
15,
OPC_CheckChild2Type, MVT::i32,
OPC_CheckType, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_FW_VIDX_PSEUDO), 0,
MVT::v4f32, 3, 0, 2, 1,
15,
OPC_CheckChild2Type, MVT::i64,
OPC_CheckType, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_FW_VIDX64_PSEUDO), 0,
MVT::v4f32, 3, 0, 2, 1,
0,
60,
OPC_CheckChild1Type, MVT::f64,
OPC_RecordChild2,
OPC_Scope, 22,
OPC_MoveChild2,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_CheckPredicate, 34,
OPC_MoveParent,
OPC_CheckType, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_EmitConvertToTarget, 2,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_FD_PSEUDO), 0,
MVT::v2f64, 3, 0, 3, 1,
15,
OPC_CheckChild2Type, MVT::i32,
OPC_CheckType, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_FD_VIDX_PSEUDO), 0,
MVT::v2f64, 3, 0, 2, 1,
15,
OPC_CheckChild2Type, MVT::i64,
OPC_CheckType, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::INSERT_FD_VIDX64_PSEUDO), 0,
MVT::v2f64, 3, 0, 2, 1,
0,
0,
47, TARGET_VAL(MipsISD::SHF),
OPC_RecordChild0,
OPC_MoveChild0,
OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
OPC_CheckPredicate, 31,
OPC_MoveParent,
OPC_RecordChild1,
OPC_SwitchType , 10, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHF_B), 0,
MVT::v16i8, 2, 1, 0,
10, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHF_H), 0,
MVT::v8i16, 2, 1, 0,
10, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHF_W), 0,
MVT::v4i32, 2, 1, 0,
0,
37, TARGET_VAL(MipsISD::SHLL_DSP),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_MoveParent,
OPC_SwitchType , 12, MVT::v2i16,
OPC_CheckPatternPredicate, 28,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHLL_PH), 0,
MVT::v2i16, 2, 0, 2,
12, MVT::v4i8,
OPC_CheckPatternPredicate, 28,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHLL_QB), 0,
MVT::v4i8, 2, 0, 2,
0,
37, TARGET_VAL(MipsISD::SHRA_DSP),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_MoveParent,
OPC_SwitchType , 12, MVT::v2i16,
OPC_CheckPatternPredicate, 28,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRA_PH), 0,
MVT::v2i16, 2, 0, 2,
12, MVT::v4i8,
OPC_CheckPatternPredicate, 48,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRA_QB), 0,
MVT::v4i8, 2, 0, 2,
0,
37, TARGET_VAL(MipsISD::SHRL_DSP),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_MoveChild1,
OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
OPC_MoveParent,
OPC_SwitchType , 12, MVT::v2i16,
OPC_CheckPatternPredicate, 48,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRL_PH), 0,
MVT::v2i16, 2, 0, 2,
12, MVT::v4i8,
OPC_CheckPatternPredicate, 28,
OPC_EmitConvertToTarget, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::SHRL_QB), 0,
MVT::v4i8, 2, 0, 2,
0,
33|128,1, TARGET_VAL(ISD::BUILD_VECTOR),
OPC_RecordChild0,
OPC_Scope, 105,
OPC_CheckChild0Type, MVT::i32,
OPC_CheckChild1Same, 0,
OPC_CheckChild2Same, 0,
OPC_CheckChild3Same, 0,
OPC_Scope, 82,
OPC_MoveChild4,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild5,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild6,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild7,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_Scope, 51,
OPC_MoveChild, 8,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild, 9,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild, 10,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild, 11,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild, 12,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild, 13,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild, 14,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_MoveChild, 15,
OPC_CheckSame, 0,
OPC_MoveParent,
OPC_CheckType, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FILL_B), 0,
MVT::v16i8, 1, 0,
11,
OPC_CheckType, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FILL_H), 0,
MVT::v8i16, 1, 0,
0,
11,
OPC_CheckType, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FILL_W), 0,
MVT::v4i32, 1, 0,
0,
15,
OPC_CheckChild0Type, MVT::i64,
OPC_CheckChild1Same, 0,
OPC_CheckType, MVT::v2i64,
OPC_CheckPatternPredicate, 61,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FILL_D), 0,
MVT::v2i64, 1, 0,
19,
OPC_CheckChild0Type, MVT::f32,
OPC_CheckChild1Same, 0,
OPC_CheckChild2Same, 0,
OPC_CheckChild3Same, 0,
OPC_CheckType, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FILL_FW_PSEUDO), 0,
MVT::v4f32, 1, 0,
15,
OPC_CheckChild0Type, MVT::f64,
OPC_CheckChild1Same, 0,
OPC_CheckType, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FILL_FD_PSEUDO), 0,
MVT::v2f64, 1, 0,
0,
25, TARGET_VAL(ISD::FP_TO_SINT),
OPC_RecordChild0,
OPC_SwitchType , 9, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FTRUNC_S_W), 0,
MVT::v4i32, 1, 0,
9, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FTRUNC_S_D), 0,
MVT::v2i64, 1, 0,
0,
25, TARGET_VAL(ISD::FP_TO_UINT),
OPC_RecordChild0,
OPC_SwitchType , 9, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FTRUNC_U_W), 0,
MVT::v4i32, 1, 0,
9, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FTRUNC_U_D), 0,
MVT::v2i64, 1, 0,
0,
52, TARGET_VAL(MipsISD::ILVEV),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 10, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ILVEV_B), 0,
MVT::v16i8, 2, 0, 1,
10, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ILVEV_H), 0,
MVT::v8i16, 2, 0, 1,
10, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ILVEV_W), 0,
MVT::v4i32, 2, 0, 1,
10, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ILVEV_D), 0,
MVT::v2i64, 2, 0, 1,
0,
52, TARGET_VAL(MipsISD::ILVL),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 10, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ILVL_B), 0,
MVT::v16i8, 2, 0, 1,
10, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ILVL_H), 0,
MVT::v8i16, 2, 0, 1,
10, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ILVL_W), 0,
MVT::v4i32, 2, 0, 1,
10, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ILVL_D), 0,
MVT::v2i64, 2, 0, 1,
0,
52, TARGET_VAL(MipsISD::ILVOD),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 10, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ILVOD_B), 0,
MVT::v16i8, 2, 0, 1,
10, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ILVOD_H), 0,
MVT::v8i16, 2, 0, 1,
10, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ILVOD_W), 0,
MVT::v4i32, 2, 0, 1,
10, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ILVOD_D), 0,
MVT::v2i64, 2, 0, 1,
0,
52, TARGET_VAL(MipsISD::ILVR),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 10, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ILVR_B), 0,
MVT::v16i8, 2, 0, 1,
10, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ILVR_H), 0,
MVT::v8i16, 2, 0, 1,
10, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ILVR_W), 0,
MVT::v4i32, 2, 0, 1,
10, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::ILVR_D), 0,
MVT::v2i64, 2, 0, 1,
0,
52, TARGET_VAL(MipsISD::PCKEV),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 10, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PCKEV_B), 0,
MVT::v16i8, 2, 0, 1,
10, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PCKEV_H), 0,
MVT::v8i16, 2, 0, 1,
10, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PCKEV_W), 0,
MVT::v4i32, 2, 0, 1,
10, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PCKEV_D), 0,
MVT::v2i64, 2, 0, 1,
0,
52, TARGET_VAL(MipsISD::PCKOD),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_SwitchType , 10, MVT::v16i8,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PCKOD_B), 0,
MVT::v16i8, 2, 0, 1,
10, MVT::v8i16,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PCKOD_H), 0,
MVT::v8i16, 2, 0, 1,
10, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PCKOD_W), 0,
MVT::v4i32, 2, 0, 1,
10, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PCKOD_D), 0,
MVT::v2i64, 2, 0, 1,
0,
67|128,2, TARGET_VAL(MipsISD::SELECT_CC_DSP),
OPC_RecordChild0,
OPC_Scope, 30|128,1,
OPC_CheckChild0Type, MVT::v2i16,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild4,
OPC_Scope, 24,
OPC_CheckCondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_CheckType, MVT::v2i16,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMP_EQ_PH), 0,
MVT::v2i16, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_PH), 0,
MVT::v2i16, 3, 4, 2, 3,
24,
OPC_CheckCondCode, ISD::SETLT,
OPC_MoveParent,
OPC_CheckType, MVT::v2i16,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMP_LT_PH), 0,
MVT::v2i16, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_PH), 0,
MVT::v2i16, 3, 4, 2, 3,
24,
OPC_CheckCondCode, ISD::SETLE,
OPC_MoveParent,
OPC_CheckType, MVT::v2i16,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMP_LE_PH), 0,
MVT::v2i16, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_PH), 0,
MVT::v2i16, 3, 4, 2, 3,
24,
OPC_CheckCondCode, ISD::SETNE,
OPC_MoveParent,
OPC_CheckType, MVT::v2i16,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMP_EQ_PH), 0,
MVT::v2i16, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_PH), 0,
MVT::v2i16, 3, 4, 3, 2,
24,
OPC_CheckCondCode, ISD::SETGE,
OPC_MoveParent,
OPC_CheckType, MVT::v2i16,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMP_LT_PH), 0,
MVT::v2i16, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_PH), 0,
MVT::v2i16, 3, 4, 3, 2,
24,
OPC_CheckCondCode, ISD::SETGT,
OPC_MoveParent,
OPC_CheckType, MVT::v2i16,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMP_LE_PH), 0,
MVT::v2i16, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_PH), 0,
MVT::v2i16, 3, 4, 3, 2,
0,
30|128,1,
OPC_CheckChild0Type, MVT::v4i8,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_RecordChild3,
OPC_MoveChild4,
OPC_Scope, 24,
OPC_CheckCondCode, ISD::SETEQ,
OPC_MoveParent,
OPC_CheckType, MVT::v4i8,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMPU_EQ_QB), 0,
MVT::v4i8, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_QB), 0,
MVT::v4i8, 3, 4, 2, 3,
24,
OPC_CheckCondCode, ISD::SETULT,
OPC_MoveParent,
OPC_CheckType, MVT::v4i8,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMPU_LT_QB), 0,
MVT::v4i8, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_QB), 0,
MVT::v4i8, 3, 4, 2, 3,
24,
OPC_CheckCondCode, ISD::SETULE,
OPC_MoveParent,
OPC_CheckType, MVT::v4i8,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMPU_LE_QB), 0,
MVT::v4i8, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_QB), 0,
MVT::v4i8, 3, 4, 2, 3,
24,
OPC_CheckCondCode, ISD::SETNE,
OPC_MoveParent,
OPC_CheckType, MVT::v4i8,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMPU_EQ_QB), 0,
MVT::v4i8, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_QB), 0,
MVT::v4i8, 3, 4, 3, 2,
24,
OPC_CheckCondCode, ISD::SETUGE,
OPC_MoveParent,
OPC_CheckType, MVT::v4i8,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMPU_LT_QB), 0,
MVT::v4i8, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_QB), 0,
MVT::v4i8, 3, 4, 3, 2,
24,
OPC_CheckCondCode, ISD::SETUGT,
OPC_MoveParent,
OPC_CheckType, MVT::v4i8,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMPU_LE_QB), 0,
MVT::v4i8, 2, 0, 1,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_QB), 0,
MVT::v4i8, 3, 4, 3, 2,
0,
0,
107|128,4, TARGET_VAL(MipsISD::SETCC_DSP),
OPC_RecordChild0,
OPC_SwitchType , 49|128,2, MVT::v2i16,
OPC_CheckChild0Type, MVT::v2i16,
OPC_RecordChild1,
OPC_Scope, 49,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMP_EQ_PH), 0,
MVT::v2i16, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitInteger, MVT::i32, 3,
OPC_EmitNode1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 3, 4,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i16, 2, 5, 6,
OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_PH), 0,
MVT::v2i16, 3, 2, 7, 8,
49,
OPC_CheckChild2CondCode, ISD::SETLT,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMP_LT_PH), 0,
MVT::v2i16, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitInteger, MVT::i32, 3,
OPC_EmitNode1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 3, 4,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i16, 2, 5, 6,
OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_PH), 0,
MVT::v2i16, 3, 2, 7, 8,
49,
OPC_CheckChild2CondCode, ISD::SETLE,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMP_LE_PH), 0,
MVT::v2i16, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitInteger, MVT::i32, 3,
OPC_EmitNode1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 3, 4,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i16, 2, 5, 6,
OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_PH), 0,
MVT::v2i16, 3, 2, 7, 8,
49,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMP_EQ_PH), 0,
MVT::v2i16, 2, 0, 1,
OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitInteger, MVT::i32, 3,
OPC_EmitNode1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 4, 5,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i16, 2, 6, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_PH), 0,
MVT::v2i16, 3, 2, 3, 8,
49,
OPC_CheckChild2CondCode, ISD::SETGE,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMP_LT_PH), 0,
MVT::v2i16, 2, 0, 1,
OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitInteger, MVT::i32, 3,
OPC_EmitNode1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 4, 5,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i16, 2, 6, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_PH), 0,
MVT::v2i16, 3, 2, 3, 8,
49,
OPC_CheckChild2CondCode, ISD::SETGT,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMP_LE_PH), 0,
MVT::v2i16, 2, 0, 1,
OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitInteger, MVT::i32, 3,
OPC_EmitNode1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 4, 5,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v2i16, 2, 6, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_PH), 0,
MVT::v2i16, 3, 2, 3, 8,
0,
49|128,2, MVT::v4i8,
OPC_CheckChild0Type, MVT::v4i8,
OPC_RecordChild1,
OPC_Scope, 49,
OPC_CheckChild2CondCode, ISD::SETEQ,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMPU_EQ_QB), 0,
MVT::v4i8, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitInteger, MVT::i32, 3,
OPC_EmitNode1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 3, 4,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i8, 2, 5, 6,
OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_QB), 0,
MVT::v4i8, 3, 2, 7, 8,
49,
OPC_CheckChild2CondCode, ISD::SETULT,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMPU_LT_QB), 0,
MVT::v4i8, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitInteger, MVT::i32, 3,
OPC_EmitNode1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 3, 4,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i8, 2, 5, 6,
OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_QB), 0,
MVT::v4i8, 3, 2, 7, 8,
49,
OPC_CheckChild2CondCode, ISD::SETULE,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMPU_LE_QB), 0,
MVT::v4i8, 2, 0, 1,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitInteger, MVT::i32, 3,
OPC_EmitNode1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 3, 4,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i8, 2, 5, 6,
OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_QB), 0,
MVT::v4i8, 3, 2, 7, 8,
49,
OPC_CheckChild2CondCode, ISD::SETNE,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMPU_EQ_QB), 0,
MVT::v4i8, 2, 0, 1,
OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitInteger, MVT::i32, 3,
OPC_EmitNode1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 4, 5,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i8, 2, 6, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_QB), 0,
MVT::v4i8, 3, 2, 3, 8,
49,
OPC_CheckChild2CondCode, ISD::SETUGE,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMPU_LT_QB), 0,
MVT::v4i8, 2, 0, 1,
OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitInteger, MVT::i32, 3,
OPC_EmitNode1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 4, 5,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i8, 2, 6, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_QB), 0,
MVT::v4i8, 3, 2, 3, 8,
49,
OPC_CheckChild2CondCode, ISD::SETUGT,
OPC_CheckPatternPredicate, 28,
OPC_EmitNode1, TARGET_VAL(Mips::PseudoCMPU_LE_QB), 0,
MVT::v4i8, 2, 0, 1,
OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
OPC_EmitRegister, MVT::i32, Mips::ZERO,
OPC_EmitInteger, MVT::i32, 3,
OPC_EmitNode1, TARGET_VAL(Mips::ADDiu), 0,
MVT::i32, 2, 4, 5,
OPC_EmitStringInteger, MVT::i32, Mips::DSPRRegClassID,
OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
MVT::v4i8, 2, 6, 7,
OPC_MorphNodeTo1, TARGET_VAL(Mips::PseudoPICK_QB), 0,
MVT::v4i8, 3, 2, 3, 8,
0,
0,
29, TARGET_VAL(ISD::UINT_TO_FP),
OPC_RecordChild0,
OPC_SwitchType , 11, MVT::v4f32,
OPC_CheckChild0Type, MVT::v4i32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FFINT_U_W), 0,
MVT::v4f32, 1, 0,
11, MVT::v2f64,
OPC_CheckChild0Type, MVT::v2i64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FFINT_U_D), 0,
MVT::v2f64, 1, 0,
0,
25, TARGET_VAL(ISD::FLOG2),
OPC_RecordChild0,
OPC_SwitchType , 9, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FLOG2_W), 0,
MVT::v4f32, 1, 0,
9, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FLOG2_D), 0,
MVT::v2f64, 1, 0,
0,
31, TARGET_VAL(ISD::FMA),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 11, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMADD_W), 0,
MVT::v4f32, 3, 0, 1, 2,
11, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMADD_D), 0,
MVT::v2f64, 3, 0, 1, 2,
0,
31, TARGET_VAL(MipsISD::FMS),
OPC_RecordChild0,
OPC_RecordChild1,
OPC_RecordChild2,
OPC_SwitchType , 11, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMSUB_W), 0,
MVT::v4f32, 3, 0, 1, 2,
11, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FMSUB_D), 0,
MVT::v2f64, 3, 0, 1, 2,
0,
25, TARGET_VAL(ISD::FRINT),
OPC_RecordChild0,
OPC_SwitchType , 9, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FRINT_W), 0,
MVT::v4f32, 1, 0,
9, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FRINT_D), 0,
MVT::v2f64, 1, 0,
0,
25, TARGET_VAL(ISD::FEXP2),
OPC_RecordChild0,
OPC_SwitchType , 9, MVT::v4f32,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FEXP2_W_1_PSEUDO), 0,
MVT::v4f32, 1, 0,
9, MVT::v2f64,
OPC_CheckPatternPredicate, 26,
OPC_MorphNodeTo1, TARGET_VAL(Mips::FEXP2_D_1_PSEUDO), 0,
MVT::v2f64, 1, 0,
0,
0,
0
}; // Total Array size is 54044 bytes
#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->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit());
case 1: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
case 2: return (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
case 3: return (Subtarget->inMicroMipsMode()) && (!Subtarget->isFP64bit());
case 4: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit());
case 5: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isTargetNaCl()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 6: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 7: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
case 8: return (Subtarget->inMicroMipsMode());
case 9: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isTargetNaCl()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 10: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6());
case 11: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 12: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 13: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasCnMips()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 14: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasCnMips()) && (!Subtarget->inMicroMipsMode());
case 15: return (Subtarget->inMips16Mode());
case 16: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode());
case 17: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
case 18: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat());
case 19: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
case 20: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
case 21: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit());
case 22: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat());
case 23: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat());
case 24: return (Subtarget->isGP64bit()) && (!Subtarget->inMips16Mode());
case 25: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
case 26: return (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding());
case 27: return (Subtarget->hasMSA());
case 28: return (Subtarget->hasDSP());
case 29: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit());
case 30: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6());
case 31: return (Subtarget->hasCnMips());
case 32: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding());
case 33: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
case 34: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding());
case 35: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 36: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 37: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 38: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips4_32());
case 39: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 40: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 41: return (Subtarget->inMicroMipsMode()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
case 42: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
case 43: return (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips4_32());
case 44: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->hasMips4_32());
case 45: return (Subtarget->hasEVA()) && (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6());
case 46: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 47: return (Subtarget->hasDSP()) && (Subtarget->inMicroMipsMode());
case 48: return (Subtarget->hasDSPR2());
case 49: return (Subtarget->hasDSPR2()) && (Subtarget->inMicroMipsMode());
case 50: return (!Subtarget->inMips16Mode());
case 51: return (Subtarget->hasDSP()) && (!Subtarget->inMicroMipsMode());
case 52: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 53: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding());
case 54: return (Subtarget->hasMips64()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips64r6());
case 55: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
case 56: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
case 57: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
case 58: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (!Subtarget->inMicroMipsMode());
case 59: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
case 60: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
case 61: return (Subtarget->hasMSA()) && (Subtarget->hasMips64()) && (Subtarget->hasStandardEncoding());
case 62: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (Subtarget->hasSym32()) && (!Subtarget->inMicroMipsMode());
case 63: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->hasSym32()) && (!Subtarget->inMicroMipsMode());
case 64: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64());
case 65: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 66: return (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
case 67: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
case 68: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat());
case 69: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 70: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
case 71: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding());
case 72: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP());
case 73: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->hasDSP()) && (!Subtarget->inMicroMipsMode());
case 74: return (Subtarget->hasMSA()) && (Subtarget->isGP64bit());
case 75: return (Subtarget->hasStandardEncoding());
case 76: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode());
case 77: return (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
case 78: return (Subtarget->isABI_N64()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMips16Mode());
case 79: return (Subtarget->isABI_N64()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
case 80: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 81: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
case 82: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
case 83: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
case 84: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 85: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
case 86: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
case 87: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
case 88: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 89: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 90: return (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 91: return (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMips16Mode());
case 92: return (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMips16Mode());
case 93: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
case 94: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 95: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 96: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!TM.isPositionIndependent());
case 97: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!TM.isPositionIndependent());
case 98: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (TM.isPositionIndependent());
case 99: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit());
case 100: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 101: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6());
case 102: return (Subtarget->hasDSP()) && (!Subtarget->inMips16Mode());
case 103: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 104: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
case 105: return (Subtarget->hasMSA()) && (Subtarget->isLittle());
case 106: return (Subtarget->hasMSA()) && (!Subtarget->isLittle());
case 107: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 108: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 109: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 110: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 111: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
case 112: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding());
case 113: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 114: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 115: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 116: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 117: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 118: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 119: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 120: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
case 121: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
case 122: return (TM.Options.AllowFPOpFusion == FPOpFusion::Fast) && (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding());
case 123: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 124: return (!Subtarget->disableMadd4()) && (Subtarget->inMicroMipsMode()) && (Subtarget->inMicroMipsMode()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips32r6());
case 125: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 126: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
case 127: return (!Subtarget->disableMadd4()) && (Subtarget->inMicroMipsMode()) && (Subtarget->inMicroMipsMode()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips32r6());
case 128: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat());
case 129: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (Subtarget->isGP64bit());
case 130: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
case 131: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
case 132: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
case 133: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
case 134: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
case 135: return (!Subtarget->isFP64bit());
case 136: return (Subtarget->isFP64bit());
case 137: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit());
case 138: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
case 139: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
case 140: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit());
}
}
#endif // GET_DAGISEL_BODY
#ifdef GET_DAGISEL_DECL
bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
#if DAGISEL_INLINE
override
#endif
{
switch (PredNo) {
default: llvm_unreachable("Invalid predicate in table?");
case 0: {
// Predicate_unindexedstore
SDNode *N = Node;
(void)N;
if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
return true;
}
case 1: {
// Predicate_store
SDNode *N = Node;
(void)N;
if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
return true;
}
case 2: {
// Predicate_truncstore
SDNode *N = Node;
(void)N;
if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
return true;
}
case 3: {
// Predicate_truncstorei8
SDNode *N = Node;
(void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
return true;
}
case 4: {
// Predicate_truncstorei16
SDNode *N = Node;
(void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
return true;
}
case 5: {
// Predicate_truncstorei32
SDNode *N = Node;
(void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
return true;
}
case 6: {
// Predicate_unindexedload
SDNode *N = Node;
(void)N;
if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
return true;
}
case 7: {
// Predicate_zextload
SDNode *N = Node;
(void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
return true;
}
case 8: {
// Predicate_zextloadi8
// Predicate_sextloadi8
// Predicate_extloadi8
// Predicate_atomic_load_8
// Predicate_atomic_store_8
// Predicate_atomic_load_add_8
// Predicate_atomic_load_sub_8
// Predicate_atomic_load_and_8
// Predicate_atomic_load_or_8
// Predicate_atomic_load_xor_8
// Predicate_atomic_load_nand_8
// Predicate_atomic_swap_8
// Predicate_atomic_cmp_swap_8
// Predicate_atomic_load_min_8
// Predicate_atomic_load_max_8
// Predicate_atomic_load_umin_8
// Predicate_atomic_load_umax_8
SDNode *N = Node;
(void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
return true;
}
case 9: {
// Predicate_zextloadi16
// Predicate_sextloadi16
// Predicate_extloadi16
// Predicate_atomic_load_16
// Predicate_atomic_store_16
// Predicate_atomic_load_add_16
// Predicate_atomic_load_sub_16
// Predicate_atomic_load_and_16
// Predicate_atomic_load_or_16
// Predicate_atomic_load_xor_16
// Predicate_atomic_load_nand_16
// Predicate_atomic_swap_16
// Predicate_atomic_cmp_swap_16
// Predicate_atomic_load_min_16
// Predicate_atomic_load_max_16
// Predicate_atomic_load_umin_16
// Predicate_atomic_load_umax_16
SDNode *N = Node;
(void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
return true;
}
case 10: {
// Predicate_sextload
SDNode *N = Node;
(void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) return false;
return true;
}
case 11: {
// Predicate_load
SDNode *N = Node;
(void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
return true;
}
case 12: {
// Predicate_extload
SDNode *N = Node;
(void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
return true;
}
case 13: {
// Predicate_extloadi1
SDNode *N = Node;
(void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i1) return false;
return true;
}
case 14: {
// Predicate_sextloadi32
// Predicate_zextloadi32
// Predicate_extloadi32
// Predicate_atomic_load_32
// Predicate_atomic_store_32
// Predicate_atomic_load_add_32
// Predicate_atomic_load_sub_32
// Predicate_atomic_load_and_32
// Predicate_atomic_load_or_32
// Predicate_atomic_load_xor_32
// Predicate_atomic_load_nand_32
// Predicate_atomic_swap_32
// Predicate_atomic_cmp_swap_32
// Predicate_atomic_load_min_32
// Predicate_atomic_load_max_32
// Predicate_atomic_load_umin_32
// Predicate_atomic_load_umax_32
SDNode *N = Node;
(void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
return true;
}
case 15: {
// Predicate_immZExt5_64
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return Imm == (Imm & 0x1f);
}
case 16: {
// Predicate_PowerOf2LO
auto *N = cast<ConstantSDNode>(Node);
(void)N;
if (N->getValueType(0) == MVT::i64) {
uint64_t Imm = N->getZExtValue();
return isPowerOf2_64(Imm) && (Imm & 0xffffffff) == Imm;
}
else
return false;
}
case 17: {
// Predicate_PowerOf2HI
auto *N = cast<ConstantSDNode>(Node);
(void)N;
if (N->getValueType(0) == MVT::i64) {
uint64_t Imm = N->getZExtValue();
return isPowerOf2_64(Imm) && (Imm & 0xffffffff00000000) == Imm;
}
else
return false;
}
case 18: {
// Predicate_PowerOf2LO_i32
auto *N = cast<ConstantSDNode>(Node);
(void)N;
if (N->getValueType(0) == MVT::i32) {
uint64_t Imm = N->getZExtValue();
return isPowerOf2_32(Imm) && isUInt<32>(Imm);
}
else
return false;
}
case 19: {
// Predicate_immSExt16
auto *N = cast<ConstantSDNode>(Node);
(void)N;
return isInt<16>(N->getSExtValue());
}
case 20: {
// Predicate_immSExt16Plus1
auto *N = cast<ConstantSDNode>(Node);
(void)N;
return isInt<17>(N->getSExtValue()) && isInt<16>(N->getSExtValue() + 1);
}
case 21: {
// Predicate_immZExt16
auto *N = cast<ConstantSDNode>(Node);
(void)N;
if (N->getValueType(0) == MVT::i32)
return (uint32_t)N->getZExtValue() == (unsigned short)N->getZExtValue();
else
return (uint64_t)N->getZExtValue() == (unsigned short)N->getZExtValue();
}
case 22: {
// Predicate_immz
auto *N = cast<ConstantSDNode>(Node);
(void)N;
return N->getSExtValue() == 0;
}
case 23: {
// Predicate_immZExt16_64
auto *N = cast<ConstantSDNode>(Node);
(void)N;
return isUInt<16>(N->getZExtValue());
}
case 24: {
// Predicate_atomic_load_64
// Predicate_atomic_store_64
// Predicate_atomic_load_add_64
// Predicate_atomic_load_sub_64
// Predicate_atomic_load_and_64
// Predicate_atomic_load_or_64
// Predicate_atomic_load_xor_64
// Predicate_atomic_load_nand_64
// Predicate_atomic_swap_64
// Predicate_atomic_cmp_swap_64
// Predicate_atomic_load_min_64
// Predicate_atomic_load_max_64
// Predicate_atomic_load_umin_64
// Predicate_atomic_load_umax_64
SDNode *N = Node;
(void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i64) return false;
return true;
}
case 25: {
// Predicate_immZExt5
// Predicate_timmZExt5
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return Imm == (Imm & 0x1f);
}
case 26: {
// Predicate_timmZExt10
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return isUInt<10>(Imm);
}
case 27: {
// Predicate_timmZExt7
auto *N = cast<ConstantSDNode>(Node);
(void)N;
return isUInt<7>(N->getZExtValue());
}
case 28: {
// Predicate_immZExt4
// Predicate_timmZExt4
// Predicate_immZExt4Ptr
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return isUInt<4>(Imm);
}
case 29: {
// Predicate_immZExt3
// Predicate_timmZExt3
// Predicate_immZExt3Ptr
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return isUInt<3>(Imm);
}
case 30: {
// Predicate_timmZExt2
// Predicate_immZExt2
// Predicate_immZExt2Ptr
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return isUInt<2>(Imm);
}
case 31: {
// Predicate_immZExt8
// Predicate_timmZExt8
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return isUInt<8>(Imm);
}
case 32: {
// Predicate_immSExt10
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return isInt<10>(Imm);
}
case 33: {
// Predicate_timmZExt6
// Predicate_immZExt6
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return Imm == (Imm & 0x3f);
}
case 34: {
// Predicate_timmZExt1
// Predicate_immZExt1Ptr
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return isUInt<1>(Imm);
}
case 35: {
// Predicate_imm32ZExt16
const APInt & Imm = cast<ConstantSDNode>(Node)->getAPIntValue();
return (uint32_t)Imm.getZExtValue() == (unsigned short)Imm.getZExtValue();
}
case 36: {
// Predicate_vsplat_imm_eq_1
SDNode *N = Node;
(void)N;
APInt Imm;
EVT EltTy = N->getValueType(0).getVectorElementType();
return selectVSplat(N, Imm, EltTy.getSizeInBits()) &&
Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 1;
}
case 37: {
// Predicate_immi32Cst7
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return isUInt<32>(Imm) && Imm == 7;
}
case 38: {
// Predicate_immi32Cst15
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return isUInt<32>(Imm) && Imm == 15;
}
case 39: {
// Predicate_immi32Cst31
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return isUInt<32>(Imm) && Imm == 31;
}
case 40: {
// Predicate_vsplati64_imm_eq_1
SDNode *N = Node;
(void)N;
APInt Imm;
SDNode *BV = N->getOperand(0).getNode();
EVT EltTy = N->getValueType(0).getVectorElementType();
return selectVSplat(BV, Imm, EltTy.getSizeInBits()) &&
Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 1;
}
case 41: {
// Predicate_vsplati64_imm_eq_63
SDNode *N = Node;
(void)N;
APInt Imm;
SDNode *BV = N->getOperand(0).getNode();
EVT EltTy = N->getValueType(0).getVectorElementType();
return selectVSplat(BV, Imm, EltTy.getSizeInBits()) &&
Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 63;
}
case 42: {
// Predicate_immZExt5Plus1
auto *N = cast<ConstantSDNode>(Node);
(void)N;
return isUInt<5>(N->getZExtValue() - 1);
}
case 43: {
// Predicate_immZExt5Plus33
auto *N = cast<ConstantSDNode>(Node);
(void)N;
return isUInt<5>(N->getZExtValue() - 33);
}
case 44: {
// Predicate_immZExt5Plus32
auto *N = cast<ConstantSDNode>(Node);
(void)N;
return isUInt<5>(N->getZExtValue() - 32);
}
case 45: {
// Predicate_immZExtAndi16
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return (Imm == 128 || (Imm >= 1 && Imm <= 4) || Imm == 7 || Imm == 8 ||
Imm == 15 || Imm == 16 || Imm == 31 || Imm == 32 || Imm == 63 ||
Imm == 64 || Imm == 255 || Imm == 32768 || Imm == 65535 );
}
case 46: {
// Predicate_immSExt10_64
auto *N = cast<ConstantSDNode>(Node);
(void)N;
return isInt<10>(N->getSExtValue());
}
case 47: {
// Predicate_immZExt2Lsa
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return isUInt<2>(Imm - 1);
}
case 48: {
// Predicate_imm32SExt16
const APInt & Imm = cast<ConstantSDNode>(Node)->getAPIntValue();
return isInt<16>(Imm.getSExtValue());
}
case 49: {
// Predicate_immSExt8
auto *N = cast<ConstantSDNode>(Node);
(void)N;
return isInt<8>(N->getSExtValue());
}
case 50: {
// Predicate_immSExtAddiur2
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return Imm == 1 || Imm == -1 ||
((Imm % 4 == 0) &&
Imm < 28 && Imm > 0);
}
case 51: {
// Predicate_immSExtAddius5
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return Imm >= -8 && Imm <= 7;
}
case 52: {
// Predicate_immZExt2Shift
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return Imm >= 1 && Imm <= 8;
}
case 53: {
// Predicate_assertzext_lt_i32
SDNode *N = Node;
(void)N;
return cast<VTSDNode>(N->getOperand(1))->getVT().bitsLT(MVT::i32);
}
case 54: {
// Predicate_immSExt6
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return isInt<6>(Imm);
}
case 55: {
// Predicate_LUiPred
auto *N = cast<ConstantSDNode>(Node);
(void)N;
int64_t Val = N->getSExtValue();
return !isInt<16>(Val) && isInt<32>(Val) && !(Val & 0xffff);
}
case 56: {
// Predicate_ORiPred
auto *N = cast<ConstantSDNode>(Node);
(void)N;
return isUInt<16>(N->getZExtValue()) && !isInt<16>(N->getSExtValue());
}
case 57: {
// Predicate_immLi16
int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
return Imm >= -1 && Imm <= 126;
}
case 58: {
// Predicate_LUiORiPred
auto *N = cast<ConstantSDNode>(Node);
(void)N;
int64_t SVal = N->getSExtValue();
return isInt<32>(SVal) && (SVal & 0xffff);
}
case 59: {
// Predicate_immZExt32Low16Zero
auto *N = cast<ConstantSDNode>(Node);
(void)N;
uint64_t Val = N->getZExtValue();
return isUInt<32>(Val) && !(Val & 0xffff);
}
case 60: {
// Predicate_immZExt32
auto *N = cast<ConstantSDNode>(Node);
(void)N;
return isUInt<32>(N->getZExtValue());
}
case 61: {
// Predicate_fpimm0
auto *N = cast<ConstantFPSDNode>(Node);
(void)N;
return N->isExactlyValue(+0.0);
}
case 62: {
// Predicate_fpimm0neg
auto *N = cast<ConstantFPSDNode>(Node);
(void)N;
return N->isExactlyValue(-0.0);
}
}
}
#endif // GET_DAGISEL_BODY
#ifdef GET_DAGISEL_DECL
bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
SDValue N, unsigned PatternNo,
SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
SDValue N, unsigned PatternNo,
SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
#if DAGISEL_INLINE
override
#endif
{
unsigned NextRes = Result.size();
switch (PatternNo) {
default: llvm_unreachable("Invalid pattern # in table?");
case 0:
Result.resize(NextRes+2);
return selectAddrRegImm(N, Result[NextRes+0].first, Result[NextRes+1].first);
case 1:
Result.resize(NextRes+2);
return selectIntAddr(N, Result[NextRes+0].first, Result[NextRes+1].first);
case 2:
Result.resize(NextRes+2);
return selectAddrDefault(N, Result[NextRes+0].first, Result[NextRes+1].first);
case 3:
Result.resize(NextRes+2);
return selectAddr16(N, Result[NextRes+0].first, Result[NextRes+1].first);
case 4:
Result.resize(NextRes+2);
return selectAddr16SP(N, Result[NextRes+0].first, Result[NextRes+1].first);
case 5:
Result.resize(NextRes+2);
return selectIntAddrLSL2MM(N, Result[NextRes+0].first, Result[NextRes+1].first);
case 6:
Result.resize(NextRes+2);
return selectIntAddr11MM(N, Result[NextRes+0].first, Result[NextRes+1].first);
case 7:
Result.resize(NextRes+2);
return selectIntAddr16MM(N, Result[NextRes+0].first, Result[NextRes+1].first);
case 8:
Result.resize(NextRes+2);
return selectIntAddrSImm10(N, Result[NextRes+0].first, Result[NextRes+1].first);
case 9:
Result.resize(NextRes+2);
return selectIntAddrSImm10Lsl1(N, Result[NextRes+0].first, Result[NextRes+1].first);
case 10:
Result.resize(NextRes+2);
return selectIntAddrSImm10Lsl2(N, Result[NextRes+0].first, Result[NextRes+1].first);
case 11:
Result.resize(NextRes+2);
return selectIntAddrSImm10Lsl3(N, Result[NextRes+0].first, Result[NextRes+1].first);
case 12:
Result.resize(NextRes+2);
return selectIntAddr12MM(N, Result[NextRes+0].first, Result[NextRes+1].first);
case 13:
Result.resize(NextRes+1);
return selectVSplatUimmPow2(N, Result[NextRes+0].first);
case 14:
Result.resize(NextRes+1);
return selectVSplatUimm8(N, Result[NextRes+0].first);
case 15:
Result.resize(NextRes+1);
return selectVSplatUimmInvPow2(N, Result[NextRes+0].first);
case 16:
Result.resize(NextRes+1);
return selectVSplatUimm5(N, Result[NextRes+0].first);
case 17:
Result.resize(NextRes+1);
return selectVSplatUimm5(N, Result[NextRes+0].first);
case 18:
Result.resize(NextRes+1);
return selectVSplatUimm5(N, Result[NextRes+0].first);
case 19:
Result.resize(NextRes+1);
return selectVSplatUimm5(N, Result[NextRes+0].first);
case 20:
Result.resize(NextRes+1);
return selectVSplatSimm5(N, Result[NextRes+0].first);
case 21:
Result.resize(NextRes+1);
return selectVSplatSimm5(N, Result[NextRes+0].first);
case 22:
Result.resize(NextRes+1);
return selectVSplatSimm5(N, Result[NextRes+0].first);
case 23:
Result.resize(NextRes+1);
return selectVSplatSimm5(N, Result[NextRes+0].first);
case 24:
Result.resize(NextRes+1);
return selectVSplatUimm3(N, Result[NextRes+0].first);
case 25:
Result.resize(NextRes+1);
return selectVSplatUimm4(N, Result[NextRes+0].first);
case 26:
Result.resize(NextRes+1);
return selectVSplatUimm6(N, Result[NextRes+0].first);
case 27:
Result.resize(NextRes+1);
return selectVSplatUimm4(N, Result[NextRes+0].first);
case 28:
Result.resize(NextRes+1);
return selectVSplatUimm3(N, Result[NextRes+0].first);
case 29:
Result.resize(NextRes+1);
return selectVSplatUimm2(N, Result[NextRes+0].first);
case 30:
Result.resize(NextRes+1);
return selectVSplatUimm1(N, Result[NextRes+0].first);
case 31:
Result.resize(NextRes+1);
return selectVSplatMaskL(N, Result[NextRes+0].first);
case 32:
Result.resize(NextRes+1);
return selectVSplatMaskL(N, Result[NextRes+0].first);
case 33:
Result.resize(NextRes+1);
return selectVSplatMaskL(N, Result[NextRes+0].first);
case 34:
Result.resize(NextRes+1);
return selectVSplatMaskL(N, Result[NextRes+0].first);
case 35:
Result.resize(NextRes+1);
return selectVSplatMaskR(N, Result[NextRes+0].first);
case 36:
Result.resize(NextRes+1);
return selectVSplatMaskR(N, Result[NextRes+0].first);
case 37:
Result.resize(NextRes+1);
return selectVSplatMaskR(N, Result[NextRes+0].first);
case 38:
Result.resize(NextRes+1);
return selectVSplatMaskR(N, Result[NextRes+0].first);
}
}
#endif // GET_DAGISEL_BODY
#ifdef GET_DAGISEL_DECL
SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
#if DAGISEL_INLINE
override
#endif
{
switch (XFormNo) {
default: llvm_unreachable("Invalid xform # in table?");
case 0: {
ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
return getImm(N, Log2_64((unsigned) N->getZExtValue()));
}
case 1: {
ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
return getImm(N, Log2_64((unsigned) (N->getZExtValue() >> 32)));
}
case 2: {
ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
return getImm(N, N->getSExtValue() + 1);
}
case 3: {
ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
return getImm(N, N->getZExtValue() & 0xFFFF);
}
case 4: {
ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
return getImm(N, 31 - N->getZExtValue());
}
case 5: {
ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
return getImm(N, (N->getZExtValue() >> 16) & 0xFFFF);
}
}
}
#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