| /*===- 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, |
|
|