/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* DAG Instruction Selector for the PPC 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 , 5|128,44, TARGET_VAL(ISD::STORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 84|128,29, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 6|128,7, 
    OPC_CheckChild1Integer, 0, 
    OPC_SwitchType , 102|128,2, MVT::i32,
     OPC_Scope, 20, 
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 1,
      OPC_CheckPatternPredicate, 0,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVRWX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4, 
     35, 
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 2,
      OPC_CheckPredicate, 3,
      OPC_CheckPatternPredicate, 0,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVRBX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     35, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 2,
      OPC_CheckPredicate, 4,
      OPC_CheckPatternPredicate, 0,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVRHX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     84, 
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 1,
      OPC_Scope, 37, 
       OPC_CheckPatternPredicate, 1,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                     MVT::v4i32, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      37, 
       OPC_CheckPatternPredicate, 2,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                     MVT::v4i32, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      0, 
     88, 
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 2,
      OPC_CheckPredicate, 3,
      OPC_Scope, 37, 
       OPC_CheckPatternPredicate, 3,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 18, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                     MVT::v16i8, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::v4i32, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      37, 
       OPC_CheckPatternPredicate, 4,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                     MVT::v16i8, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::v4i32, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      0, 
     88, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 2,
      OPC_CheckPredicate, 4,
      OPC_Scope, 37, 
       OPC_CheckPatternPredicate, 3,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 20, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                     MVT::v16i8, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::v4i32, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      37, 
       OPC_CheckPatternPredicate, 4,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                     MVT::v16i8, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::v4i32, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      0, 
     0, 
    99, MVT::f32,
     OPC_MoveParent,
     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(PPC::STXVRWX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 1,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 2,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    87|128,1, MVT::i64,
     OPC_MoveParent,
     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(PPC::STXVRDX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4, 
     25, 
      OPC_CheckPatternPredicate, 5,
      OPC_CheckComplexPat, /*CP*/1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     25, 
      OPC_CheckPatternPredicate, 6,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     25, 
      OPC_CheckPatternPredicate, 5,
      OPC_CheckComplexPat, /*CP*/2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 7,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    87|128,1, MVT::f64,
     OPC_MoveParent,
     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(PPC::STXVRDX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4, 
     25, 
      OPC_CheckPatternPredicate, 5,
      OPC_CheckComplexPat, /*CP*/1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     25, 
      OPC_CheckPatternPredicate, 6,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     25, 
      OPC_CheckPatternPredicate, 5,
      OPC_CheckComplexPat, /*CP*/2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 7,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    0,
   100|128,5, 
    OPC_CheckChild1Integer, 2, 
    OPC_SwitchType , 125|128,1, MVT::i32,
     OPC_Scope, 72, 
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 1,
      OPC_Scope, 25, 
       OPC_CheckPatternPredicate, 1,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 1, 5, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 3, 4, 
      37, 
       OPC_CheckPatternPredicate, 2,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                     MVT::v4i32, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      0, 
     88, 
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 2,
      OPC_CheckPredicate, 3,
      OPC_Scope, 37, 
       OPC_CheckPatternPredicate, 3,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 20, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                     MVT::v16i8, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::v4i32, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      37, 
       OPC_CheckPatternPredicate, 4,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 14, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                     MVT::v16i8, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::v4i32, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      0, 
     88, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 2,
      OPC_CheckPredicate, 4,
      OPC_Scope, 37, 
       OPC_CheckPatternPredicate, 3,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                     MVT::v16i8, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::v4i32, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      37, 
       OPC_CheckPatternPredicate, 4,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 12, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                     MVT::v16i8, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::v4i32, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      0, 
     0, 
    72, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_Scope, 25, 
      OPC_CheckPatternPredicate, 1,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 2,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    72|128,1, MVT::i64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_Scope, 25, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     25, 
      OPC_CheckPatternPredicate, 7,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     25, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 5,
      OPC_CheckComplexPat, /*CP*/1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 6,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 5,
      OPC_CheckComplexPat, /*CP*/2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    72|128,1, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_Scope, 25, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     25, 
      OPC_CheckPatternPredicate, 7,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     25, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 5,
      OPC_CheckComplexPat, /*CP*/1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 6,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 5,
      OPC_CheckComplexPat, /*CP*/2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    0,
   78|128,2, 
    OPC_CheckChild1Integer, 4, 
    OPC_SwitchType , 125|128,1, MVT::i32,
     OPC_Scope, 72, 
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 1,
      OPC_Scope, 25, 
       OPC_CheckPatternPredicate, 2,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 1, 5, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 3, 4, 
      37, 
       OPC_CheckPatternPredicate, 1,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                     MVT::v4i32, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      0, 
     88, 
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 2,
      OPC_CheckPredicate, 3,
      OPC_Scope, 37, 
       OPC_CheckPatternPredicate, 3,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 22, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                     MVT::v16i8, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::v4i32, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      37, 
       OPC_CheckPatternPredicate, 4,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 12, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                     MVT::v16i8, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::v4i32, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      0, 
     88, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 2,
      OPC_CheckPredicate, 4,
      OPC_Scope, 37, 
       OPC_CheckPatternPredicate, 3,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                     MVT::v16i8, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::v4i32, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      37, 
       OPC_CheckPatternPredicate, 4,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                     MVT::v16i8, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::v4i32, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      0, 
     0, 
    72, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_Scope, 25, 
      OPC_CheckPatternPredicate, 2,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 1,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    0,
   44|128,1, 
    OPC_CheckChild1Integer, 14, 
    OPC_CheckType, MVT::i32,
    OPC_Scope, 76, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 2,
     OPC_CheckPredicate, 3,
     OPC_Scope, 25, 
      OPC_CheckPatternPredicate, 3,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                    MVT::v16i8, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    88, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 2,
     OPC_CheckPredicate, 4,
     OPC_Scope, 37, 
      OPC_CheckPatternPredicate, 3,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                    MVT::v16i8, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                    MVT::v16i8, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    0, 
   97|128,2, 
    OPC_CheckChild1Integer, 6, 
    OPC_SwitchType , 4|128,2, MVT::i32,
     OPC_Scope, 35, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 2,
      OPC_CheckPredicate, 4,
      OPC_CheckPatternPredicate, 3,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     84, 
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 1,
      OPC_Scope, 37, 
       OPC_CheckPatternPredicate, 1,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                     MVT::v4i32, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      37, 
       OPC_CheckPatternPredicate, 2,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                     MVT::v4i32, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      0, 
     88, 
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 2,
      OPC_CheckPredicate, 3,
      OPC_Scope, 37, 
       OPC_CheckPatternPredicate, 3,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                     MVT::v16i8, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::v4i32, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      37, 
       OPC_CheckPatternPredicate, 4,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 10, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                     MVT::v16i8, 3, 1, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::v4i32, 2, 6, 7, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4, 
      0, 
     47, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 2,
      OPC_CheckPredicate, 4,
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                    MVT::v16i8, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    84, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_Scope, 37, 
      OPC_CheckPatternPredicate, 1,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 2,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                    MVT::v4i32, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    0,
   80, 
    OPC_CheckChild1Integer, 16, 
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate, 0,
    OPC_CheckPredicate, 2,
    OPC_CheckPredicate, 3,
    OPC_Scope, 25, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 1, 5, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 6, 3, 4, 
    37, 
     OPC_CheckPatternPredicate, 3,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                   MVT::v16i8, 3, 1, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 6, 7, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 8, 3, 4, 
    0, 
   44|128,1, 
    OPC_CheckChild1Integer, 8, 
    OPC_CheckType, MVT::i32,
    OPC_Scope, 76, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 2,
     OPC_CheckPredicate, 4,
     OPC_Scope, 25, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 3,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                    MVT::v16i8, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    88, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 2,
     OPC_CheckPredicate, 3,
     OPC_Scope, 37, 
      OPC_CheckPatternPredicate, 3,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                    MVT::v16i8, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                    MVT::v16i8, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    0, 
   56|128,1, 
    OPC_CheckChild1Integer, 10, 
    OPC_CheckType, MVT::i32,
    OPC_Scope, 88, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 2,
     OPC_CheckPredicate, 3,
     OPC_Scope, 37, 
      OPC_CheckPatternPredicate, 3,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                    MVT::v16i8, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                    MVT::v16i8, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    88, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 2,
     OPC_CheckPredicate, 4,
     OPC_Scope, 37, 
      OPC_CheckPatternPredicate, 3,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                    MVT::v16i8, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                    MVT::v16i8, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    0, 
   56|128,1, 
    OPC_CheckChild1Integer, 12, 
    OPC_CheckType, MVT::i32,
    OPC_Scope, 88, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 2,
     OPC_CheckPredicate, 3,
     OPC_Scope, 37, 
      OPC_CheckPatternPredicate, 3,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 30, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                    MVT::v16i8, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                    MVT::v16i8, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    88, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 2,
     OPC_CheckPredicate, 4,
     OPC_Scope, 37, 
      OPC_CheckPatternPredicate, 3,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 12, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                    MVT::v16i8, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     37, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                    MVT::v16i8, 3, 1, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 6, 7, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 8, 3, 4, 
     0, 
    0, 
   92, 
    OPC_CheckChild1Integer, 18, 
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate, 0,
    OPC_CheckPredicate, 2,
    OPC_CheckPredicate, 3,
    OPC_Scope, 37, 
     OPC_CheckPatternPredicate, 3,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                   MVT::v16i8, 3, 1, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 6, 7, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 8, 3, 4, 
    37, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 30, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                   MVT::v16i8, 3, 1, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 6, 7, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 8, 3, 4, 
    0, 
   92, 
    OPC_CheckChild1Integer, 20, 
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate, 0,
    OPC_CheckPredicate, 2,
    OPC_CheckPredicate, 3,
    OPC_Scope, 37, 
     OPC_CheckPatternPredicate, 3,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                   MVT::v16i8, 3, 1, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 6, 7, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 8, 3, 4, 
    37, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                   MVT::v16i8, 3, 1, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 6, 7, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 8, 3, 4, 
    0, 
   92, 
    OPC_CheckChild1Integer, 22, 
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate, 0,
    OPC_CheckPredicate, 2,
    OPC_CheckPredicate, 3,
    OPC_Scope, 37, 
     OPC_CheckPatternPredicate, 3,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                   MVT::v16i8, 3, 1, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 6, 7, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 8, 3, 4, 
    37, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 26, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                   MVT::v16i8, 3, 1, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 6, 7, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 8, 3, 4, 
    0, 
   92, 
    OPC_CheckChild1Integer, 24, 
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate, 0,
    OPC_CheckPredicate, 2,
    OPC_CheckPredicate, 3,
    OPC_Scope, 37, 
     OPC_CheckPatternPredicate, 3,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 10, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                   MVT::v16i8, 3, 1, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 6, 7, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 8, 3, 4, 
    37, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 24, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                   MVT::v16i8, 3, 1, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 6, 7, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 8, 3, 4, 
    0, 
   92, 
    OPC_CheckChild1Integer, 26, 
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate, 0,
    OPC_CheckPredicate, 2,
    OPC_CheckPredicate, 3,
    OPC_Scope, 37, 
     OPC_CheckPatternPredicate, 3,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 12, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                   MVT::v16i8, 3, 1, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 6, 7, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 8, 3, 4, 
    37, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 22, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                   MVT::v16i8, 3, 1, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 6, 7, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 8, 3, 4, 
    0, 
   92, 
    OPC_CheckChild1Integer, 28, 
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate, 0,
    OPC_CheckPredicate, 2,
    OPC_CheckPredicate, 3,
    OPC_Scope, 37, 
     OPC_CheckPatternPredicate, 3,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 14, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                   MVT::v16i8, 3, 1, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 6, 7, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 8, 3, 4, 
    37, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 20, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                   MVT::v16i8, 3, 1, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 6, 7, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 8, 3, 4, 
    0, 
   92, 
    OPC_CheckChild1Integer, 30, 
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate, 0,
    OPC_CheckPredicate, 2,
    OPC_CheckPredicate, 3,
    OPC_Scope, 37, 
     OPC_CheckPatternPredicate, 3,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 16, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                   MVT::v16i8, 3, 1, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 6, 7, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 8, 3, 4, 
    37, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 18, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSLDOI), 0,
                   MVT::v16i8, 3, 1, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 6, 7, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 8, 3, 4, 
    0, 
   0, 
  41|128,14, 
   OPC_RecordChild1,
   OPC_Scope, 116, 
    OPC_CheckChild1Type, MVT::v2f64,
    OPC_Scope, 83, 
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_Scope, 14, 
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4, 
     14, 
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4, 
     30, 
      OPC_CheckPatternPredicate, 8,
      OPC_Scope, 12, 
       OPC_CheckComplexPat, /*CP*/3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      12, 
       OPC_CheckComplexPat, /*CP*/2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      0, 
     14, 
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXV), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4, 
     0, 
    27, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXVpc), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 5, 
    0, 
   105|128,1, 
    OPC_CheckChild1Type, MVT::f32,
    OPC_Scope, 77, 
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_Scope, 34, 
      OPC_CheckPredicate, 1,
      OPC_Scope, 14, 
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf32), 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(PPC::XFSTOREf32), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      0, 
     36, 
      OPC_CheckPredicate, 2,
      OPC_CheckPredicate, 5,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 1, 5, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPHP), 0|OPFL_Chain,
                    MVT::f64, 1, 6, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 7, 3, 4, 
     0, 
    27, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTFSpc), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 5, 
    122, 
     OPC_RecordChild2,
     OPC_Scope, 83, 
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 1,
      OPC_Scope, 30, 
       OPC_CheckPatternPredicate, 13,
       OPC_Scope, 12, 
        OPC_CheckComplexPat, /*CP*/6, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STFS), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       12, 
        OPC_CheckComplexPat, /*CP*/2, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STFSX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       0, 
      30, 
       OPC_CheckPatternPredicate, 14,
       OPC_Scope, 12, 
        OPC_CheckComplexPat, /*CP*/7, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::SPESTW), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       12, 
        OPC_CheckComplexPat, /*CP*/8, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::SPESTWX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       0, 
      14, 
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTFS), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      0, 
     34, 
      OPC_RecordChild3,
      OPC_CheckPredicate, 1,
      OPC_CheckPredicate, 6,
      OPC_Scope, 13, 
       OPC_CheckComplexPat, /*CP*/9, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::STFSU), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::iPTR, 3, 1, 4, 2, 
      12, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::STFSUX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::iPTR, 3, 1, 2, 3, 
      0, 
     0, 
    0, 
   94|128,1, 
    OPC_CheckChild1Type, MVT::f64,
    OPC_Scope, 66, 
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_Scope, 34, 
      OPC_CheckPredicate, 1,
      OPC_Scope, 14, 
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      14, 
       OPC_CheckPatternPredicate, 15,
       OPC_CheckComplexPat, /*CP*/2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      0, 
     25, 
      OPC_CheckPredicate, 2,
      OPC_CheckPredicate, 5,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPHP), 0|OPFL_Chain,
                    MVT::f64, 1, 1, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHX), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 5, 3, 4, 
     0, 
    27, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTFDpc), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 5, 
    122, 
     OPC_RecordChild2,
     OPC_Scope, 83, 
      OPC_CheckPredicate, 0,
      OPC_CheckPredicate, 1,
      OPC_Scope, 30, 
       OPC_CheckPatternPredicate, 13,
       OPC_Scope, 12, 
        OPC_CheckComplexPat, /*CP*/6, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STFD), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       12, 
        OPC_CheckComplexPat, /*CP*/2, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STFDX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       0, 
      30, 
       OPC_CheckPatternPredicate, 14,
       OPC_Scope, 12, 
        OPC_CheckComplexPat, /*CP*/7, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::EVSTDD), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       12, 
        OPC_CheckComplexPat, /*CP*/8, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::EVSTDDX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       0, 
      14, 
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTFD), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      0, 
     34, 
      OPC_RecordChild3,
      OPC_CheckPredicate, 1,
      OPC_CheckPredicate, 6,
      OPC_Scope, 13, 
       OPC_CheckComplexPat, /*CP*/9, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::STFDU), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::iPTR, 3, 1, 4, 2, 
      12, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::STFDUX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::iPTR, 3, 1, 2, 3, 
      0, 
     0, 
    0, 
   101, 
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_Scope, 68, 
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_Scope, 14, 
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4, 
     30, 
      OPC_CheckPatternPredicate, 8,
      OPC_Scope, 12, 
       OPC_CheckComplexPat, /*CP*/3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      12, 
       OPC_CheckComplexPat, /*CP*/2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      0, 
     14, 
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXV), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4, 
     0, 
    27, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXVpc), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 5, 
    0, 
   121, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 68, 
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_Scope, 14, 
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVW4X), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4, 
     30, 
      OPC_CheckPatternPredicate, 8,
      OPC_Scope, 12, 
       OPC_CheckComplexPat, /*CP*/3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      12, 
       OPC_CheckComplexPat, /*CP*/2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      0, 
     14, 
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXV), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4, 
     0, 
    27, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXVpc), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 5, 
    19, 
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_CheckPatternPredicate, 16,
     OPC_CheckComplexPat, /*CP*/0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STVX), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 4, 
    0, 
   86, 
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_Scope, 53, 
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_Scope, 30, 
      OPC_CheckPatternPredicate, 8,
      OPC_Scope, 12, 
       OPC_CheckComplexPat, /*CP*/3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      12, 
       OPC_CheckComplexPat, /*CP*/2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      0, 
     14, 
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXV), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4, 
     0, 
    27, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXVpc), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 5, 
    0, 
   2|128,1, 
    OPC_CheckChild1Type, MVT::f128,
    OPC_Scope, 86, 
     OPC_RecordChild2,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_Scope, 52, 
      OPC_CheckPatternPredicate, 8,
      OPC_Scope, 23, 
       OPC_CheckComplexPat, /*CP*/3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::v4i32, 2, 1, 5, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 3, 4, 
      23, 
       OPC_CheckComplexPat, /*CP*/2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::v4i32, 2, 1, 5, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 3, 4, 
      0, 
     25, 
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 1, 5, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXV), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 4, 
     0, 
    38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPredicate, 0,
     OPC_CheckPredicate, 1,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 1, 5, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXVpc), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 6, 3, 7, 
    0, 
   100|128,2, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_Scope, 75, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPredicate, 0,
     OPC_Scope, 44, 
      OPC_CheckPredicate, 2,
      OPC_Scope, 19, 
       OPC_CheckPredicate, 3,
       OPC_CheckPatternPredicate, 11,
       OPC_CheckComplexPat, /*CP*/5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTBpc), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 5, 
      19, 
       OPC_CheckPredicate, 4,
       OPC_CheckPatternPredicate, 11,
       OPC_CheckComplexPat, /*CP*/5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTHpc), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 5, 
      0, 
     19, 
      OPC_CheckPredicate, 1,
      OPC_CheckPatternPredicate, 11,
      OPC_CheckComplexPat, /*CP*/5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTWpc), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 5, 
     0, 
    18|128,2, 
     OPC_RecordChild2,
     OPC_Scope, 32|128,1, 
      OPC_CheckPredicate, 0,
      OPC_Scope, 34, 
       OPC_CheckPredicate, 2,
       OPC_Scope, 14, 
        OPC_CheckPredicate, 3,
        OPC_CheckComplexPat, /*CP*/6, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STB), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       14, 
        OPC_CheckPredicate, 4,
        OPC_CheckComplexPat, /*CP*/6, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STH), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       0, 
      14, 
       OPC_CheckPredicate, 1,
       OPC_CheckComplexPat, /*CP*/6, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STW), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      34, 
       OPC_CheckPredicate, 2,
       OPC_Scope, 14, 
        OPC_CheckPredicate, 3,
        OPC_CheckComplexPat, /*CP*/2, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STBX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       14, 
        OPC_CheckPredicate, 4,
        OPC_CheckComplexPat, /*CP*/2, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STHX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       0, 
      14, 
       OPC_CheckPredicate, 1,
       OPC_CheckComplexPat, /*CP*/2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STWX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      38, 
       OPC_CheckPredicate, 2,
       OPC_Scope, 16, 
        OPC_CheckPredicate, 3,
        OPC_CheckPatternPredicate, 10,
        OPC_CheckComplexPat, /*CP*/4, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTB), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       16, 
        OPC_CheckPredicate, 4,
        OPC_CheckPatternPredicate, 10,
        OPC_CheckComplexPat, /*CP*/4, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTH), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       0, 
      16, 
       OPC_CheckPredicate, 1,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTW), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      0, 
     108, 
      OPC_RecordChild3,
      OPC_Scope, 38, 
       OPC_CheckPredicate, 2,
       OPC_CheckPredicate, 6,
       OPC_Scope, 15, 
        OPC_CheckPredicate, 7,
        OPC_CheckComplexPat, /*CP*/9, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STBU), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::iPTR, 3, 1, 4, 2, 
       15, 
        OPC_CheckPredicate, 8,
        OPC_CheckComplexPat, /*CP*/9, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STHU), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::iPTR, 3, 1, 4, 2, 
       0, 
      17, 
       OPC_CheckPredicate, 1,
       OPC_CheckPredicate, 6,
       OPC_CheckComplexPat, /*CP*/9, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::STWU), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::iPTR, 3, 1, 4, 2, 
      32, 
       OPC_CheckPredicate, 2,
       OPC_CheckPredicate, 6,
       OPC_Scope, 12, 
        OPC_CheckPredicate, 7,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STBUX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::iPTR, 3, 1, 2, 3, 
       12, 
        OPC_CheckPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STHUX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::iPTR, 3, 1, 2, 3, 
       0, 
      14, 
       OPC_CheckPredicate, 1,
       OPC_CheckPredicate, 6,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::STWUX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::iPTR, 3, 1, 2, 3, 
      0, 
     0, 
    0, 
   67|128,3, 
    OPC_CheckChild1Type, MVT::i64,
    OPC_Scope, 95, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPredicate, 0,
     OPC_Scope, 64, 
      OPC_CheckPredicate, 2,
      OPC_Scope, 19, 
       OPC_CheckPredicate, 3,
       OPC_CheckPatternPredicate, 11,
       OPC_CheckComplexPat, /*CP*/5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTB8pc), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 5, 
      19, 
       OPC_CheckPredicate, 4,
       OPC_CheckPatternPredicate, 11,
       OPC_CheckComplexPat, /*CP*/5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTH8pc), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 5, 
      19, 
       OPC_CheckPredicate, 9,
       OPC_CheckPatternPredicate, 11,
       OPC_CheckComplexPat, /*CP*/5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTW8pc), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 5, 
      0, 
     19, 
      OPC_CheckPredicate, 1,
      OPC_CheckPatternPredicate, 11,
      OPC_CheckComplexPat, /*CP*/5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTDpc), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 5, 
     0, 
    93|128,2, 
     OPC_RecordChild2,
     OPC_Scope, 75|128,1, 
      OPC_CheckPredicate, 0,
      OPC_Scope, 94, 
       OPC_CheckPredicate, 2,
       OPC_Scope, 14, 
        OPC_CheckPredicate, 3,
        OPC_CheckComplexPat, /*CP*/6, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STB8), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       14, 
        OPC_CheckPredicate, 4,
        OPC_CheckComplexPat, /*CP*/6, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STH8), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       14, 
        OPC_CheckPredicate, 9,
        OPC_CheckComplexPat, /*CP*/6, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STW8), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       14, 
        OPC_CheckPredicate, 3,
        OPC_CheckComplexPat, /*CP*/2, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STBX8), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       14, 
        OPC_CheckPredicate, 4,
        OPC_CheckComplexPat, /*CP*/2, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STHX8), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       14, 
        OPC_CheckPredicate, 9,
        OPC_CheckComplexPat, /*CP*/2, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STWX8), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       0, 
      30, 
       OPC_CheckPredicate, 1,
       OPC_Scope, 12, 
        OPC_CheckComplexPat, /*CP*/1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STD), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       12, 
        OPC_CheckComplexPat, /*CP*/2, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STDX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       0, 
      55, 
       OPC_CheckPredicate, 2,
       OPC_Scope, 16, 
        OPC_CheckPredicate, 3,
        OPC_CheckPatternPredicate, 10,
        OPC_CheckComplexPat, /*CP*/4, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTB8), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       16, 
        OPC_CheckPredicate, 4,
        OPC_CheckPatternPredicate, 10,
        OPC_CheckComplexPat, /*CP*/4, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTH8), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       16, 
        OPC_CheckPredicate, 9,
        OPC_CheckPatternPredicate, 10,
        OPC_CheckComplexPat, /*CP*/4, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTW8), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4, 
       0, 
      16, 
       OPC_CheckPredicate, 1,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTD), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4, 
      0, 
     11|128,1, 
      OPC_RecordChild3,
      OPC_Scope, 54, 
       OPC_CheckPredicate, 2,
       OPC_CheckPredicate, 6,
       OPC_Scope, 15, 
        OPC_CheckPredicate, 7,
        OPC_CheckComplexPat, /*CP*/9, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::iPTR, 3, 1, 4, 2, 
       15, 
        OPC_CheckPredicate, 8,
        OPC_CheckComplexPat, /*CP*/9, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STHU8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::iPTR, 3, 1, 4, 2, 
       15, 
        OPC_CheckPredicate, 10,
        OPC_CheckComplexPat, /*CP*/9, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STWU8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::iPTR, 3, 1, 4, 2, 
       0, 
      19, 
       OPC_CheckPredicate, 1,
       OPC_CheckPredicate, 6,
       OPC_CheckPredicate, 11,
       OPC_CheckComplexPat, /*CP*/9, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::STDU), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::iPTR, 3, 1, 4, 2, 
      45, 
       OPC_CheckPredicate, 2,
       OPC_CheckPredicate, 6,
       OPC_Scope, 12, 
        OPC_CheckPredicate, 7,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STBUX8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::iPTR, 3, 1, 2, 3, 
       12, 
        OPC_CheckPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STHUX8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::iPTR, 3, 1, 2, 3, 
       12, 
        OPC_CheckPredicate, 10,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STWUX8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::iPTR, 3, 1, 2, 3, 
       0, 
      14, 
       OPC_CheckPredicate, 1,
       OPC_CheckPredicate, 6,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::STDUX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::iPTR, 3, 1, 2, 3, 
      0, 
     0, 
    0, 
   0, 
  0, 
 72|128,7, TARGET_VAL(PPCISD::ST_VSR_SCAL_INT),
  OPC_RecordNode,
  OPC_MoveChild1,
  OPC_SwitchOpcode , 94|128,3, TARGET_VAL(PPCISD::FP_TO_SINT_IN_VSR),
   OPC_RecordChild0,
   OPC_Scope, 80|128,1, 
    OPC_CheckChild0Type, MVT::f64,
    OPC_MoveParent,
    OPC_Scope, 40|128,1, 
     OPC_RecordChild2,
     OPC_Scope, 23, 
      OPC_CheckChild3Integer, 8, 
      OPC_CheckPatternPredicate, 12,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0|OPFL_Chain,
                    MVT::f64, 1, 1, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain,
                    3, 5, 3, 4, 
     92, 
      OPC_CheckChild3Integer, 16, 
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXDS), 0|OPFL_Chain,
                     MVT::f64, 1, 1, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSD), 0|OPFL_Chain,
                     3, 5, 3, 4, 
      21, 
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXDS), 0|OPFL_Chain,
                     MVT::f64, 1, 1, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXSD), 0|OPFL_Chain,
                     3, 5, 3, 4, 
      21, 
       OPC_CheckPatternPredicate, 17,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXDS), 0|OPFL_Chain,
                     MVT::f64, 1, 1, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSDX), 0|OPFL_Chain,
                     3, 5, 3, 4, 
      21, 
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXDS), 0|OPFL_Chain,
                     MVT::f64, 1, 1, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSDX), 0|OPFL_Chain,
                     3, 5, 3, 4, 
      0, 
     23, 
      OPC_CheckChild3Integer, 4, 
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0|OPFL_Chain,
                    MVT::f64, 1, 1, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHX), 0|OPFL_Chain,
                    3, 5, 3, 4, 
     23, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0|OPFL_Chain,
                    MVT::f64, 1, 1, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBX), 0|OPFL_Chain,
                    3, 5, 3, 4, 
     0, 
    32, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild3Integer, 16, 
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXDS), 0|OPFL_Chain,
                   MVT::f64, 1, 1, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXSDpc), 0|OPFL_Chain,
                   3, 5, 3, 6, 
    0, 
   7|128,2, 
    OPC_CheckChild0Type, MVT::f128,
    OPC_MoveParent,
    OPC_Scope, 84|128,1, 
     OPC_RecordChild2,
     OPC_Scope, 103, 
      OPC_CheckChild3Integer, 16, 
      OPC_Scope, 32, 
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPSDZ), 0,
                     MVT::f128, 1, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 5, 6, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSD), 0|OPFL_Chain,
                     3, 7, 3, 4, 
      32, 
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPSDZ), 0,
                     MVT::f128, 1, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 5, 6, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXSD), 0|OPFL_Chain,
                     3, 7, 3, 4, 
      32, 
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPSDZ), 0,
                     MVT::f128, 1, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 5, 6, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSDX), 0|OPFL_Chain,
                     3, 7, 3, 4, 
      0, 
     34, 
      OPC_CheckChild3Integer, 8, 
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPSWZ), 0,
                    MVT::f128, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 5, 6, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIWX), 0|OPFL_Chain,
                    3, 7, 3, 4, 
     34, 
      OPC_CheckChild3Integer, 4, 
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPSWZ), 0,
                    MVT::f128, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 5, 6, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHX), 0|OPFL_Chain,
                    3, 7, 3, 4, 
     34, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPSWZ), 0,
                    MVT::f128, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 5, 6, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBX), 0|OPFL_Chain,
                    3, 7, 3, 4, 
     0, 
    43, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild3Integer, 16, 
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPSDZ), 0,
                   MVT::f128, 1, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 5, 6, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXSDpc), 0|OPFL_Chain,
                   3, 7, 3, 8, 
    0, 
   0, 
  94|128,3, TARGET_VAL(PPCISD::FP_TO_UINT_IN_VSR),
   OPC_RecordChild0,
   OPC_Scope, 80|128,1, 
    OPC_CheckChild0Type, MVT::f64,
    OPC_MoveParent,
    OPC_Scope, 40|128,1, 
     OPC_RecordChild2,
     OPC_Scope, 23, 
      OPC_CheckChild3Integer, 8, 
      OPC_CheckPatternPredicate, 12,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0|OPFL_Chain,
                    MVT::f64, 1, 1, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain,
                    3, 5, 3, 4, 
     92, 
      OPC_CheckChild3Integer, 16, 
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXDS), 0|OPFL_Chain,
                     MVT::f64, 1, 1, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSD), 0|OPFL_Chain,
                     3, 5, 3, 4, 
      21, 
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXDS), 0|OPFL_Chain,
                     MVT::f64, 1, 1, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXSD), 0|OPFL_Chain,
                     3, 5, 3, 4, 
      21, 
       OPC_CheckPatternPredicate, 17,
       OPC_CheckComplexPat, /*CP*/0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXDS), 0|OPFL_Chain,
                     MVT::f64, 1, 1, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSDX), 0|OPFL_Chain,
                     3, 5, 3, 4, 
      21, 
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXDS), 0|OPFL_Chain,
                     MVT::f64, 1, 1, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSDX), 0|OPFL_Chain,
                     3, 5, 3, 4, 
      0, 
     23, 
      OPC_CheckChild3Integer, 4, 
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0|OPFL_Chain,
                    MVT::f64, 1, 1, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHX), 0|OPFL_Chain,
                    3, 5, 3, 4, 
     23, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0|OPFL_Chain,
                    MVT::f64, 1, 1, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBX), 0|OPFL_Chain,
                    3, 5, 3, 4, 
     0, 
    32, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild3Integer, 16, 
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXDS), 0|OPFL_Chain,
                   MVT::f64, 1, 1, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXSDpc), 0|OPFL_Chain,
                   3, 5, 3, 6, 
    0, 
   7|128,2, 
    OPC_CheckChild0Type, MVT::f128,
    OPC_MoveParent,
    OPC_Scope, 84|128,1, 
     OPC_RecordChild2,
     OPC_Scope, 103, 
      OPC_CheckChild3Integer, 16, 
      OPC_Scope, 32, 
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPUDZ), 0,
                     MVT::f128, 1, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 5, 6, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSD), 0|OPFL_Chain,
                     3, 7, 3, 4, 
      32, 
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPUDZ), 0,
                     MVT::f128, 1, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 5, 6, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXSD), 0|OPFL_Chain,
                     3, 7, 3, 4, 
      32, 
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPUDZ), 0,
                     MVT::f128, 1, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 5, 6, 
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSDX), 0|OPFL_Chain,
                     3, 7, 3, 4, 
      0, 
     34, 
      OPC_CheckChild3Integer, 8, 
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPUWZ), 0,
                    MVT::f128, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 5, 6, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIWX), 0|OPFL_Chain,
                    3, 7, 3, 4, 
     34, 
      OPC_CheckChild3Integer, 4, 
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPUWZ), 0,
                    MVT::f128, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 5, 6, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHX), 0|OPFL_Chain,
                    3, 7, 3, 4, 
     34, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPUWZ), 0,
                    MVT::f128, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 5, 6, 
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBX), 0|OPFL_Chain,
                    3, 7, 3, 4, 
     0, 
    43, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild3Integer, 16, 
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPUDZ), 0,
                   MVT::f128, 1, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 5, 6, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXSDpc), 0|OPFL_Chain,
                   3, 7, 3, 8, 
    0, 
   0, 
  0,
 39, TARGET_VAL(PPCISD::STXSIX),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 16, 
   OPC_CheckChild3Integer, 2, 
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBX), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  16, 
   OPC_CheckChild3Integer, 4, 
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHX), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  0, 
 56|128,11, TARGET_VAL(ISD::INTRINSIC_VOID),
  OPC_RecordNode,
  OPC_Scope, 19, 
   OPC_CheckChild1Integer, 82|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 15,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVD2X), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  19, 
   OPC_CheckChild1Integer, 92|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 15,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVW4X), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  53, 
   OPC_CheckChild1Integer, 80|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 14, 
    OPC_CheckPatternPredicate, 18,
    OPC_CheckComplexPat, /*CP*/0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVD2X), 0|OPFL_Chain,
                  3, 1, 3, 4, 
   30, 
    OPC_CheckPatternPredicate, 8,
    OPC_Scope, 12, 
     OPC_CheckComplexPat, /*CP*/3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain,
                   3, 1, 3, 4, 
    12, 
     OPC_CheckComplexPat, /*CP*/2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain,
                   3, 1, 3, 4, 
    0, 
   0, 
  53, 
   OPC_CheckChild1Integer, 90|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 14, 
    OPC_CheckPatternPredicate, 9,
    OPC_CheckComplexPat, /*CP*/0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVW4X), 0|OPFL_Chain,
                  3, 1, 3, 4, 
   30, 
    OPC_CheckPatternPredicate, 8,
    OPC_Scope, 12, 
     OPC_CheckComplexPat, /*CP*/3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain,
                   3, 1, 3, 4, 
    12, 
     OPC_CheckComplexPat, /*CP*/2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain,
                   3, 1, 3, 4, 
    0, 
   0, 
  35, 
   OPC_CheckChild1Integer, 2|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 14, 
    OPC_CheckPatternPredicate, 12,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIWX), 0|OPFL_Chain,
                  3, 2, 3, 4, 
   12, 
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::STFIWX), 0|OPFL_Chain,
                  3, 2, 3, 4, 
   0, 
  20, 
   OPC_CheckChild1Integer, 84|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVL), 0|OPFL_Chain,
                 3, 1, 4, 3, 
  20, 
   OPC_CheckChild1Integer, 86|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVLL), 0|OPFL_Chain,
                 3, 1, 4, 3, 
  15, 
   OPC_CheckChild1Integer, 60|128,116, 
   OPC_RecordChild2,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBA), 0|OPFL_Chain,
                 2, 2, 3, 
  15, 
   OPC_CheckChild1Integer, 70|128,116, 
   OPC_RecordChild2,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBI), 0|OPFL_Chain,
                 2, 2, 3, 
  15, 
   OPC_CheckChild1Integer, 72|128,116, 
   OPC_RecordChild2,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBST), 0|OPFL_Chain,
                 2, 2, 3, 
  15, 
   OPC_CheckChild1Integer, 88|128,116, 
   OPC_RecordChild2,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBZ), 0|OPFL_Chain,
                 2, 2, 3, 
  15, 
   OPC_CheckChild1Integer, 90|128,116, 
   OPC_RecordChild2,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBZL), 0|OPFL_Chain,
                 2, 2, 3, 
  19, 
   OPC_CheckChild1Integer, 76|128,116, 
   OPC_RecordChild2,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBT), 0|OPFL_Chain,
                 3, 4, 2, 3, 
  19, 
   OPC_CheckChild1Integer, 80|128,116, 
   OPC_RecordChild2,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBTST), 0|OPFL_Chain,
                 3, 4, 2, 3, 
  19, 
   OPC_CheckChild1Integer, 62|128,116, 
   OPC_RecordChild2,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBF), 0|OPFL_Chain,
                 3, 4, 2, 3, 
  19, 
   OPC_CheckChild1Integer, 32|128,117, 
   OPC_RecordChild2,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::ICBT), 0|OPFL_Chain,
                 3, 4, 2, 3, 
  17, 
   OPC_CheckChild1Integer, 78|128,116, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBT), 0|OPFL_Chain,
                 3, 2, 3, 4, 
  17, 
   OPC_CheckChild1Integer, 82|128,116, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBTST), 0|OPFL_Chain,
                 3, 2, 3, 4, 
  19, 
   OPC_CheckChild1Integer, 92|128,111, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STVEBX), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  19, 
   OPC_CheckChild1Integer, 94|128,111, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STVEHX), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  19, 
   OPC_CheckChild1Integer, 96|128,111, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STVEWX), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  19, 
   OPC_CheckChild1Integer, 98|128,111, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STVX), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  19, 
   OPC_CheckChild1Integer, 100|128,111, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STVXL), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  19, 
   OPC_CheckChild1Integer, 10|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 19,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STDBRX), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  53, 
   OPC_CheckChild1Integer, 88|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 30, 
    OPC_CheckPatternPredicate, 20,
    OPC_Scope, 12, 
     OPC_CheckComplexPat, /*CP*/3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVP), 0|OPFL_Chain,
                   3, 1, 3, 4, 
    12, 
     OPC_CheckComplexPat, /*CP*/2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVPX), 0|OPFL_Chain,
                   3, 1, 3, 4, 
    0, 
   14, 
    OPC_CheckPatternPredicate, 21,
    OPC_CheckComplexPat, /*CP*/4, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXVP), 0|OPFL_Chain,
                  3, 1, 3, 4, 
   0, 
  19, 
   OPC_CheckChild1Integer, 64|128,116, 
   OPC_RecordChild2,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBF), 0|OPFL_Chain,
                 3, 4, 2, 3, 
  19, 
   OPC_CheckChild1Integer, 66|128,116, 
   OPC_RecordChild2,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 6, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBF), 0|OPFL_Chain,
                 3, 4, 2, 3, 
  21, 
   OPC_CheckChild1Integer, 68|128,116, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 8, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBF), 0|OPFL_Chain,
                 3, 4, 2, 3, 
  21, 
   OPC_CheckChild1Integer, 74|128,116, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 12, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBF), 0|OPFL_Chain,
                 3, 4, 2, 3, 
  17, 
   OPC_CheckChild1Integer, 6|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STHBRX), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  17, 
   OPC_CheckChild1Integer, 8|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STWBRX), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  19, 
   OPC_CheckChild1Integer, 84|128,116, 
   OPC_RecordChild2,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 32, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBTST), 0|OPFL_Chain,
                 3, 4, 2, 3, 
  19, 
   OPC_CheckChild1Integer, 86|128,116, 
   OPC_RecordChild2,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 32, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBT), 0|OPFL_Chain,
                 3, 4, 2, 3, 
  50, 
   OPC_CheckChild1Integer, 0|128,116, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_Scope, 20, 
    OPC_CheckComplexPat, /*CP*/1, /*#*/3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::BUILD_QUADWORD), 0|OPFL_Chain,
                  MVT::i128, 2, 1, 2, 
    OPC_MorphNodeTo0, TARGET_VAL(PPC::STQ), 0|OPFL_Chain,
                  3, 6, 4, 5, 
   20, 
    OPC_CheckComplexPat, /*CP*/0, /*#*/3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::BUILD_QUADWORD), 0|OPFL_Chain,
                  MVT::i128, 2, 1, 2, 
    OPC_MorphNodeTo0, TARGET_VAL(PPC::STQX_PSEUDO), 0|OPFL_Chain,
                  3, 6, 4, 5, 
   0, 
  25, 
   OPC_CheckChild1Integer, 80|128,118, 
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::MTFSFIb), 0|OPFL_Chain,
                 2, 1, 2, 
  18, 
   OPC_CheckChild1Integer, 74|128,118, 
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::MTFSB0), 0|OPFL_Chain,
                 1, 1, 
  18, 
   OPC_CheckChild1Integer, 76|128,118, 
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::MTFSB1), 0|OPFL_Chain,
                 1, 1, 
  20, 
   OPC_CheckChild1Integer, 78|128,118, 
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::MTFSFb), 0|OPFL_Chain,
                 2, 1, 2, 
  20, 
   OPC_CheckChild1Integer, 52|128,111, 
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget, 1,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DSS), 0|OPFL_Chain,
                 1, 2, 
  52, 
   OPC_CheckChild1Integer, 56|128,111, 
   OPC_RecordChild2,
   OPC_Scope, 22, 
    OPC_CheckChild2Type, MVT::i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget, 3,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::DST), 0|OPFL_Chain,
                  3, 4, 1, 2, 
   22, 
    OPC_CheckChild2Type, MVT::i64,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget, 3,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::DST64), 0|OPFL_Chain,
                  3, 4, 1, 2, 
   0, 
  52, 
   OPC_CheckChild1Integer, 62|128,111, 
   OPC_RecordChild2,
   OPC_Scope, 22, 
    OPC_CheckChild2Type, MVT::i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget, 3,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::DSTT), 0|OPFL_Chain,
                  3, 4, 1, 2, 
   22, 
    OPC_CheckChild2Type, MVT::i64,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget, 3,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::DSTT64), 0|OPFL_Chain,
                  3, 4, 1, 2, 
   0, 
  52, 
   OPC_CheckChild1Integer, 58|128,111, 
   OPC_RecordChild2,
   OPC_Scope, 22, 
    OPC_CheckChild2Type, MVT::i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget, 3,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::DSTST), 0|OPFL_Chain,
                  3, 4, 1, 2, 
   22, 
    OPC_CheckChild2Type, MVT::i64,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget, 3,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::DSTST64), 0|OPFL_Chain,
                  3, 4, 1, 2, 
   0, 
  52, 
   OPC_CheckChild1Integer, 60|128,111, 
   OPC_RecordChild2,
   OPC_Scope, 22, 
    OPC_CheckChild2Type, MVT::i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget, 3,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::DSTSTT), 0|OPFL_Chain,
                  3, 4, 1, 2, 
   22, 
    OPC_CheckChild2Type, MVT::i64,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget, 3,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::DSTSTT64), 0|OPFL_Chain,
                  3, 4, 1, 2, 
   0, 
  34, 
   OPC_CheckChild1Integer, 84|128,118, 
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 10, 
    OPC_CheckChild3Type, MVT::i64,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::MTSPR8), 0|OPFL_Chain,
                  2, 1, 2, 
   10, 
    OPC_CheckChild3Type, MVT::i32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::MTSPR), 0|OPFL_Chain,
                  2, 1, 2, 
   0, 
  9, 
   OPC_CheckChild1Integer, 102|128,116, 
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::PseudoEIEIO), 0|OPFL_Chain,
                 0, 
  27, 
   OPC_CheckChild1Integer, 16|128,119, 
   OPC_Scope, 12, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo0, TARGET_VAL(PPC::SYNC), 0|OPFL_Chain,
                  1, 1, 
   8, 
    OPC_CheckPatternPredicate, 24,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::MSYNC), 0|OPFL_Chain,
                  0, 
   0, 
  27, 
   OPC_CheckChild1Integer, 40|128,117, 
   OPC_Scope, 12, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo0, TARGET_VAL(PPC::SYNC), 0|OPFL_Chain,
                  1, 1, 
   8, 
    OPC_CheckPatternPredicate, 24,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::MSYNC), 0|OPFL_Chain,
                  0, 
   0, 
  27, 
   OPC_CheckChild1Integer, 50|128,117, 
   OPC_Scope, 12, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_MorphNodeTo0, TARGET_VAL(PPC::SYNC), 0|OPFL_Chain,
                  1, 1, 
   8, 
    OPC_CheckPatternPredicate, 24,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::MSYNC), 0|OPFL_Chain,
                  0, 
   0, 
  27, 
   OPC_CheckChild1Integer, 38|128,117, 
   OPC_Scope, 12, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_MorphNodeTo0, TARGET_VAL(PPC::SYNC), 0|OPFL_Chain,
                  1, 1, 
   8, 
    OPC_CheckPatternPredicate, 24,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::MSYNC), 0|OPFL_Chain,
                  0, 
   0, 
  9, 
   OPC_CheckChild1Integer, 36|128,117, 
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::PseudoEIEIO), 0|OPFL_Chain,
                 0, 
  28, 
   OPC_CheckChild1Integer, 26|128,4, 
   OPC_RecordChild2,
   OPC_Scope, 10, 
    OPC_CheckChild2Type, MVT::i32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::MTCTRloop), 0|OPFL_Chain,
                  MVT::i32, 1, 1, 
   10, 
    OPC_CheckChild2Type, MVT::i64,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::MTCTR8loop), 0|OPFL_Chain,
                  MVT::i64, 1, 1, 
   0, 
  13, 
   OPC_CheckChild1Integer, 80|128,111, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::MTVSCR), 0|OPFL_Chain,
                 1, 1, 
  23, 
   OPC_CheckChild1Integer, 54|128,111, 
   OPC_Scope, 8, 
    OPC_CheckPatternPredicate, 25,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::NOP), 0|OPFL_Chain,
                  0, 
   8, 
    OPC_CheckPatternPredicate, 26,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::DSSALL), 0|OPFL_Chain,
                  0, 
   0, 
  18, 
   OPC_CheckChild1Integer, 110|128,118, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 4|128,2, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::MTSPR8), 0|OPFL_Chain,
                 2, 2, 1, 
  18, 
   OPC_CheckChild1Integer, 112|128,118, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 6|128,2, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::MTSPR8), 0|OPFL_Chain,
                 2, 2, 1, 
  18, 
   OPC_CheckChild1Integer, 114|128,118, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 0|128,2, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::MTSPR8), 0|OPFL_Chain,
                 2, 2, 1, 
  18, 
   OPC_CheckChild1Integer, 116|128,118, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 2|128,2, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::MTSPR8), 0|OPFL_Chain,
                 2, 2, 1, 
  9, 
   OPC_CheckChild1Integer, 42|128,117, 
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::ISYNC), 0|OPFL_Chain,
                 0, 
  15, 
   OPC_CheckChild1Integer, 82|128,118, 
   OPC_RecordChild2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::MTMSR), 0|OPFL_Chain,
                 2, 1, 2, 
  0, 
 35, TARGET_VAL(PPCISD::STFIWX),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 14, 
   OPC_CheckPatternPredicate, 12,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  14, 
   OPC_CheckPatternPredicate, 13,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STFIWX), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  0, 
 6|128,1, TARGET_VAL(PPCISD::STORE_VEC_BE),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 17, 
   OPC_CheckChild1Type, MVT::v2f64,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 28,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVD2X), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  17, 
   OPC_CheckChild1Type, MVT::v4f32,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 28,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVW4X), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  17, 
   OPC_CheckChild1Type, MVT::v2i64,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 28,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVD2X), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  17, 
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 28,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVW4X), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  28, 
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 4,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 1, 5, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVH8X), 0|OPFL_Chain,
                 3, 6, 3, 4, 
  28, 
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 4,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 1, 5, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVB16X), 0|OPFL_Chain,
                 3, 6, 3, 4, 
  0, 
 17, TARGET_VAL(PPCISD::STXVD2X),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate, 29,
  OPC_CheckComplexPat, /*CP*/0, /*#*/2,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVD2X), 0|OPFL_Chain,
                3, 1, 3, 4, 
 34|128,25|128,1, TARGET_VAL(ISD::ANY_EXTEND),
  OPC_Scope, 39|128,24|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 1|128,4, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 89|128,3, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 49, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 30,
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHLX), 0,
                     MVT::i64, 2, 2, 0, 
      20, 
       OPC_CheckPatternPredicate, 31,
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHRX), 0,
                     MVT::i64, 2, 2, 0, 
      0, 
     49, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 30,
       OPC_EmitInteger, MVT::i64, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHLX), 0,
                     MVT::i64, 2, 2, 0, 
      20, 
       OPC_CheckPatternPredicate, 31,
       OPC_EmitInteger, MVT::i64, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHRX), 0,
                     MVT::i64, 2, 2, 0, 
      0, 
     49, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 30,
       OPC_EmitInteger, MVT::i64, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHLX), 0,
                     MVT::i64, 2, 2, 0, 
      20, 
       OPC_CheckPatternPredicate, 31,
       OPC_EmitInteger, MVT::i64, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHRX), 0,
                     MVT::i64, 2, 2, 0, 
      0, 
     49, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 30,
       OPC_EmitInteger, MVT::i64, 12, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHLX), 0,
                     MVT::i64, 2, 2, 0, 
      20, 
       OPC_CheckPatternPredicate, 31,
       OPC_EmitInteger, MVT::i64, 12, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHRX), 0,
                     MVT::i64, 2, 2, 0, 
      0, 
     49, 
      OPC_CheckChild1Integer, 8, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 30,
       OPC_EmitInteger, MVT::i64, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHLX), 0,
                     MVT::i64, 2, 2, 0, 
      20, 
       OPC_CheckPatternPredicate, 31,
       OPC_EmitInteger, MVT::i64, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHRX), 0,
                     MVT::i64, 2, 2, 0, 
      0, 
     49, 
      OPC_CheckChild1Integer, 10, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 30,
       OPC_EmitInteger, MVT::i64, 20, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHLX), 0,
                     MVT::i64, 2, 2, 0, 
      20, 
       OPC_CheckPatternPredicate, 31,
       OPC_EmitInteger, MVT::i64, 20, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHRX), 0,
                     MVT::i64, 2, 2, 0, 
      0, 
     49, 
      OPC_CheckChild1Integer, 12, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 30,
       OPC_EmitInteger, MVT::i64, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHLX), 0,
                     MVT::i64, 2, 2, 0, 
      20, 
       OPC_CheckPatternPredicate, 31,
       OPC_EmitInteger, MVT::i64, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHRX), 0,
                     MVT::i64, 2, 2, 0, 
      0, 
     49, 
      OPC_CheckChild1Integer, 14, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 30,
       OPC_EmitInteger, MVT::i64, 28, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHLX), 0,
                     MVT::i64, 2, 2, 0, 
      20, 
       OPC_CheckPatternPredicate, 31,
       OPC_EmitInteger, MVT::i64, 28, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHRX), 0,
                     MVT::i64, 2, 2, 0, 
      0, 
     68, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_Scope, 29, 
       OPC_CheckPatternPredicate, 30,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitInteger, MVT::i32, 56, 
       OPC_EmitInteger, MVT::i32, 60, 
       OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                     MVT::i64, 4, 1, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHLX), 0,
                     MVT::i64, 2, 5, 0, 
      29, 
       OPC_CheckPatternPredicate, 31,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitInteger, MVT::i32, 56, 
       OPC_EmitInteger, MVT::i32, 60, 
       OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                     MVT::i64, 4, 1, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUHRX), 0,
                     MVT::i64, 2, 5, 0, 
      0, 
     0, 
    32, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_Scope, 10, 
      OPC_CheckPatternPredicate, 30,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUBLX), 0,
                    MVT::i64, 2, 1, 0, 
     10, 
      OPC_CheckPatternPredicate, 31,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUBRX), 0,
                    MVT::i64, 2, 1, 0, 
     0, 
    0, 
   51|128,98, TARGET_VAL(ISD::SETCC),
    OPC_Scope, 126|128,6, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 88, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 2, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_SwitchType , 36, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_EmitInteger, MVT::i32, 64, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 1, 2, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWNM), 0,
                     MVT::i32, 4, 0, 3, 5, 6, 
      35, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_EmitInteger, MVT::i32, 0|128,1, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 1, 2, 
       OPC_EmitInteger, MVT::i32, 126, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDCL), 0,
                     MVT::i64, 3, 0, 3, 5, 
      0,
     88, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 2, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 36, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_EmitInteger, MVT::i32, 64, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 0, 2, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWNM), 0,
                     MVT::i32, 4, 1, 3, 5, 6, 
      35, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_EmitInteger, MVT::i32, 0|128,1, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 0, 2, 
       OPC_EmitInteger, MVT::i32, 126, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDCL), 0,
                     MVT::i64, 3, 1, 3, 5, 
      0,
     21|128,1, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 2, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_SwitchType , 88, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_Scope, 41, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_EmitInteger, MVT::i32, 0|128,1, 
        OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                      MVT::i32, MVT::i32, 2, 1, 2, 
        OPC_EmitInteger, MVT::i32, 126, 
        OPC_EmitNode1, TARGET_VAL(PPC::RLDCL), 0,
                      MVT::i64, 3, 0, 3, 5, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2, 6, 7, 
       40, 
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                      MVT::i64, 2, 0, 0, 
        OPC_EmitInteger, MVT::i32, 0|128,1, 
        OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                      MVT::i32, MVT::i32, 2, 1, 3, 
        OPC_EmitInteger, MVT::i32, 126, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDCL), 0,
                      MVT::i64, 3, 2, 4, 6, 
       0, 
      44, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                     MVT::i32, 2, 0, 0, 
       OPC_EmitInteger, MVT::i32, 64, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 1, 3, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWNM), 0,
                     MVT::i32, 4, 2, 4, 6, 7, 
      0,
     21|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 2, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 88, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_Scope, 41, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_EmitInteger, MVT::i32, 0|128,1, 
        OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                      MVT::i32, MVT::i32, 2, 0, 2, 
        OPC_EmitInteger, MVT::i32, 126, 
        OPC_EmitNode1, TARGET_VAL(PPC::RLDCL), 0,
                      MVT::i64, 3, 1, 3, 5, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2, 6, 7, 
       40, 
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                      MVT::i64, 2, 1, 1, 
        OPC_EmitInteger, MVT::i32, 0|128,1, 
        OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                      MVT::i32, MVT::i32, 2, 0, 3, 
        OPC_EmitInteger, MVT::i32, 126, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDCL), 0,
                      MVT::i64, 3, 2, 4, 6, 
       0, 
      44, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                     MVT::i32, 2, 1, 1, 
       OPC_EmitInteger, MVT::i32, 64, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 0, 3, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWNM), 0,
                     MVT::i32, 4, 2, 4, 6, 7, 
      0,
     125, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 2, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_SwitchType , 56, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::i64, 0, 
       OPC_EmitInteger, MVT::i32, 64, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 1, 3, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_EmitNode1, TARGET_VAL(PPC::RLWNM), 0,
                     MVT::i32, 4, 0, 4, 6, 7, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                     MVT::i64, 3, 2, 8, 9, 
      52, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                     MVT::i64, 2, 0, 0, 
       OPC_EmitInteger, MVT::i32, 0|128,1, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 1, 3, 
       OPC_EmitInteger, MVT::i32, 126, 
       OPC_EmitNode1, TARGET_VAL(PPC::RLDCL), 0,
                     MVT::i64, 3, 2, 4, 6, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i32, 2, 7, 8, 
      0,
     125, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 2, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 56, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::i64, 0, 
       OPC_EmitInteger, MVT::i32, 64, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 0, 3, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_EmitNode1, TARGET_VAL(PPC::RLWNM), 0,
                     MVT::i32, 4, 1, 4, 6, 7, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                     MVT::i64, 3, 2, 8, 9, 
      52, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                     MVT::i64, 2, 1, 1, 
       OPC_EmitInteger, MVT::i32, 0|128,1, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 0, 3, 
       OPC_EmitInteger, MVT::i32, 126, 
       OPC_EmitNode1, TARGET_VAL(PPC::RLDCL), 0,
                     MVT::i64, 3, 2, 4, 6, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i32, 2, 7, 8, 
      0,
     77, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 2, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0, 
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckType, MVT::i1,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                    MVT::i32, 2, 0, 0, 
      OPC_EmitInteger, MVT::i32, 64, 
      OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                    MVT::i32, MVT::i32, 2, 1, 4, 
      OPC_EmitInteger, MVT::i32, 62, 
      OPC_EmitInteger, MVT::i32, 62, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLWNM), 0,
                    MVT::i32, 4, 3, 5, 7, 8, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 2, 9, 10, 
     77, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 2, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0, 
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckType, MVT::i1,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                    MVT::i32, 2, 1, 1, 
      OPC_EmitInteger, MVT::i32, 64, 
      OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                    MVT::i32, MVT::i32, 2, 0, 4, 
      OPC_EmitInteger, MVT::i32, 62, 
      OPC_EmitInteger, MVT::i32, 62, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLWNM), 0,
                    MVT::i32, 4, 3, 5, 7, 8, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 2, 9, 10, 
     0, 
    47|128,91, 
     OPC_RecordChild0,
     OPC_Scope, 5|128,26, 
      OPC_CheckChild0Type, MVT::i32,
      OPC_Scope, 52|128,4, 
       OPC_CheckChild1Integer, 0, 
       OPC_Scope, 70, 
        OPC_CheckChild2CondCode, ISD::SETLT,
        OPC_Scope, 22, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 0, 1, 2, 3, 
        42, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 0, 2, 3, 4, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 5, 6, 
        0, 
       84, 
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_Scope, 29, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZW), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitInteger, MVT::i32, 54, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 1, 2, 3, 4, 
        49, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZW), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitInteger, MVT::i32, 54, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 2, 3, 4, 5, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 6, 7, 
        0, 
       86, 
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 30, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                       MVT::i32, 2, 0, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 1, 2, 3, 4, 
        50, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                       MVT::i32, 2, 0, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 2, 3, 4, 5, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 6, 7, 
        0, 
       100, 
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_Scope, 37, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::NEG), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::ANDC), 0,
                       MVT::i32, 2, 1, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 2, 3, 4, 5, 
        57, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::NEG), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::ANDC), 0,
                       MVT::i32, 2, 2, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 3, 4, 5, 6, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 7, 8, 
        0, 
       100, 
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 37, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::NEG), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::ORC), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 2, 3, 4, 5, 
        57, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::NEG), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::ORC), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 3, 4, 5, 6, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 7, 8, 
        0, 
       114, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 44, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZW), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZW), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                       MVT::i32, 2, 1, 2, 
         OPC_EmitInteger, MVT::i32, 54, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 3, 4, 5, 6, 
        64, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZW), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZW), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                       MVT::i32, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 54, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 4, 5, 6, 7, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 8, 9, 
        0, 
       0, 
      124|128,2, 
       OPC_CheckChild1Integer, 3, 
       OPC_Scope, 70, 
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 22, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 0, 1, 2, 3, 
        42, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 0, 2, 3, 4, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 5, 6, 
        0, 
       86, 
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_Scope, 30, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                       MVT::i32, 2, 0, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 1, 2, 3, 4, 
        50, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                       MVT::i32, 2, 0, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 2, 3, 4, 5, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 6, 7, 
        0, 
       108, 
        OPC_CheckChild2CondCode, ISD::SETLT,
        OPC_Scope, 41, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::ADDI), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 3, 4, 5, 6, 
        61, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::ADDI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                       MVT::i32, 2, 0, 3, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 4, 5, 6, 7, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 8, 9, 
        0, 
       108, 
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 41, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::ADDI), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitNode1, TARGET_VAL(PPC::NAND), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 3, 4, 5, 6, 
        61, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::ADDI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::NAND), 0,
                       MVT::i32, 2, 0, 3, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 4, 5, 6, 7, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 8, 9, 
        0, 
       0, 
      75|128,18, 
       OPC_RecordChild1,
       OPC_Scope, 56|128,11, 
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_Scope, 77, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETUGE,
         OPC_Scope, 33, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 5, 
         35, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 5, 
         0, 
        77, 
         OPC_CheckPredicate, 13,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_Scope, 33, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 5, 
         35, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 5, 
         0, 
        77, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETULE,
         OPC_Scope, 33, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 5, 
         35, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 5, 
         0, 
        27|128,1, 
         OPC_CheckPredicate, 13,
         OPC_MoveParent,
         OPC_Scope, 74, 
          OPC_CheckChild2CondCode, ISD::SETLE,
          OPC_Scope, 33, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                         MVT::i32, 1, 5, 
          35, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                         MVT::i64, 1, 5, 
          0, 
         74, 
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 33, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                         MVT::i32, 1, 5, 
          35, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                         MVT::i64, 1, 5, 
          0, 
         0, 
        71|128,1, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_Scope, 74, 
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 33, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                         MVT::i32, 1, 5, 
          35, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                         MVT::i64, 1, 5, 
          0, 
         118, 
          OPC_CheckChild2CondCode, ISD::SETUGE,
          OPC_Scope, 55, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i32, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 6, 
           OPC_EmitInteger, MVT::i32, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                         MVT::i32, 3, 5, 7, 9, 
          57, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i64, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 6, 
           OPC_EmitInteger, MVT::i64, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                         MVT::i64, 3, 5, 7, 9, 
          0, 
         0, 
        121, 
         OPC_CheckPredicate, 13,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_Scope, 55, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 6, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 5, 7, 9, 
         57, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 6, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 5, 7, 9, 
         0, 
        121, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETULE,
         OPC_Scope, 55, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 6, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 5, 7, 9, 
         57, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 6, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 5, 7, 9, 
         0, 
        115|128,1, 
         OPC_CheckPredicate, 13,
         OPC_MoveParent,
         OPC_Scope, 118, 
          OPC_CheckChild2CondCode, ISD::SETLE,
          OPC_Scope, 55, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i32, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 6, 
           OPC_EmitInteger, MVT::i32, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                         MVT::i32, 3, 5, 7, 9, 
          57, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i64, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 6, 
           OPC_EmitInteger, MVT::i64, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                         MVT::i64, 3, 5, 7, 9, 
          0, 
         118, 
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 55, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i32, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 6, 
           OPC_EmitInteger, MVT::i32, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                         MVT::i32, 3, 5, 7, 9, 
          57, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i64, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 6, 
           OPC_EmitInteger, MVT::i64, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                         MVT::i64, 3, 5, 7, 9, 
          0, 
         0, 
        121, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 55, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 6, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 5, 7, 9, 
         57, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 6, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 5, 7, 9, 
         0, 
        125|128,1, 
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 49, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                        MVT::i32, 2, 0, 3, 
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 4, 6, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 7, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 9, 
         51, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                        MVT::i32, 2, 0, 3, 
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 4, 6, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 7, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 9, 
         71, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                        MVT::i32, 2, 0, 3, 
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 4, 6, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 7, 8, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 10, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 12, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 9, 11, 13, 
         73, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                        MVT::i32, 2, 0, 3, 
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 4, 6, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 7, 8, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 10, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 12, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 9, 11, 13, 
         0, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETULE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       0, 
      0, 
     120|128,24, 
      OPC_CheckChild0Type, MVT::i64,
      OPC_Scope, 90|128,3, 
       OPC_CheckChild1Integer, 0, 
       OPC_Scope, 55, 
        OPC_CheckChild2CondCode, ISD::SETLT,
        OPC_Scope, 20, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 0, 1, 2, 
        29, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 0, 1, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 3, 4, 
        0, 
       69, 
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_Scope, 27, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZD), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitInteger, MVT::i32, 116, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 1, 2, 3, 
        36, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZD), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitInteger, MVT::i32, 116, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 1, 2, 3, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 4, 5, 
        0, 
       71, 
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 28, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                       MVT::i64, 2, 0, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 1, 2, 3, 
        37, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                       MVT::i64, 2, 0, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 1, 2, 3, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 4, 5, 
        0, 
       85, 
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_Scope, 35, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(PPC::NEG8), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::ANDC8), 0,
                       MVT::i64, 2, 1, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 2, 3, 4, 
        44, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::NEG8), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::ANDC8), 0,
                       MVT::i64, 2, 1, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 2, 3, 4, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 5, 6, 
        0, 
       85, 
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 35, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(PPC::NEG8), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::ORC8), 0,
                       MVT::i64, 2, 0, 1, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 2, 3, 4, 
        44, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::NEG8), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::ORC8), 0,
                       MVT::i64, 2, 0, 1, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 2, 3, 4, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 5, 6, 
        0, 
       99, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 42, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZD), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZD), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                       MVT::i64, 2, 1, 2, 
         OPC_EmitInteger, MVT::i32, 116, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 3, 4, 5, 
        51, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZD), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZD), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                       MVT::i64, 2, 1, 2, 
         OPC_EmitInteger, MVT::i32, 116, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 3, 4, 5, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 6, 7, 
        0, 
       0, 
      64|128,2, 
       OPC_CheckChild1Integer, 3, 
       OPC_Scope, 55, 
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 20, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 0, 1, 2, 
        29, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 0, 1, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 3, 4, 
        0, 
       71, 
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_Scope, 28, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                       MVT::i64, 2, 0, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 1, 2, 3, 
        37, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                       MVT::i64, 2, 0, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 1, 2, 3, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 4, 5, 
        0, 
       93, 
        OPC_CheckChild2CondCode, ISD::SETLT,
        OPC_Scope, 39, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::ADDI8), 0,
                       MVT::i64, 2, 0, 1, 
         OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                       MVT::i64, 2, 0, 2, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 3, 4, 5, 
        48, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::ADDI8), 0,
                       MVT::i64, 2, 0, 1, 
         OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                       MVT::i64, 2, 0, 2, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 3, 4, 5, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 6, 7, 
        0, 
       93, 
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 39, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::ADDI8), 0,
                       MVT::i64, 2, 0, 1, 
         OPC_EmitNode1, TARGET_VAL(PPC::NAND8), 0,
                       MVT::i64, 2, 0, 2, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 3, 4, 5, 
        48, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::ADDI8), 0,
                       MVT::i64, 2, 0, 1, 
         OPC_EmitNode1, TARGET_VAL(PPC::NAND8), 0,
                       MVT::i64, 2, 0, 2, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 3, 4, 5, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 6, 7, 
        0, 
       0, 
      84|128,18, 
       OPC_RecordChild1,
       OPC_Scope, 65|128,11, 
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_Scope, 77, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETUGE,
         OPC_Scope, 33, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 5, 
         35, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 5, 
         0, 
        77, 
         OPC_CheckPredicate, 14,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_Scope, 33, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 5, 
         35, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 5, 
         0, 
        77, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETULE,
         OPC_Scope, 33, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 5, 
         35, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 5, 
         0, 
        27|128,1, 
         OPC_CheckPredicate, 14,
         OPC_MoveParent,
         OPC_Scope, 74, 
          OPC_CheckChild2CondCode, ISD::SETLE,
          OPC_Scope, 33, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                         MVT::i32, 1, 5, 
          35, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                         MVT::i64, 1, 5, 
          0, 
         74, 
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 33, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                         MVT::i32, 1, 5, 
          35, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                         MVT::i64, 1, 5, 
          0, 
         0, 
        77, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 33, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 5, 
         35, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 5, 
         0, 
        109, 
         OPC_CheckPredicate, 15,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 49, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                        MVT::i64, 2, 0, 3, 
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 4, 6, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 7, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 9, 
         51, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                        MVT::i64, 2, 0, 3, 
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 4, 6, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 7, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 9, 
         0, 
        121, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETUGE,
         OPC_Scope, 55, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 6, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 5, 7, 9, 
         57, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 6, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 5, 7, 9, 
         0, 
        121, 
         OPC_CheckPredicate, 14,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_Scope, 55, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 6, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 5, 7, 9, 
         57, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 6, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 5, 7, 9, 
         0, 
        121, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETULE,
         OPC_Scope, 55, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 6, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 5, 7, 9, 
         57, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 6, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 5, 7, 9, 
         0, 
        115|128,1, 
         OPC_CheckPredicate, 14,
         OPC_MoveParent,
         OPC_Scope, 118, 
          OPC_CheckChild2CondCode, ISD::SETLE,
          OPC_Scope, 55, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i32, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 6, 
           OPC_EmitInteger, MVT::i32, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                         MVT::i32, 3, 5, 7, 9, 
          57, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i64, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 6, 
           OPC_EmitInteger, MVT::i64, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                         MVT::i64, 3, 5, 7, 9, 
          0, 
         118, 
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 55, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i32, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 6, 
           OPC_EmitInteger, MVT::i32, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                         MVT::i32, 3, 5, 7, 9, 
          57, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i64, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 6, 
           OPC_EmitInteger, MVT::i64, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                         MVT::i64, 3, 5, 7, 9, 
          0, 
         0, 
        121, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 55, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 6, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 5, 7, 9, 
         57, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 6, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 5, 7, 9, 
         0, 
        25|128,1, 
         OPC_CheckPredicate, 15,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 71, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                        MVT::i64, 2, 0, 3, 
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 4, 6, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 7, 8, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 10, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 12, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 9, 11, 13, 
         73, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                        MVT::i64, 2, 0, 3, 
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 4, 6, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 7, 8, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 10, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 12, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 9, 11, 13, 
         0, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETULE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       0, 
      0, 
     19|128,15, 
      OPC_CheckChild0Type, MVT::f32,
      OPC_RecordChild1,
      OPC_Scope, 34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETUNE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETO,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      0, 
     19|128,15, 
      OPC_CheckChild0Type, MVT::f64,
      OPC_RecordChild1,
      OPC_Scope, 34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETUNE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETO,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      0, 
     127|128,9, 
      OPC_CheckChild0Type, MVT::f128,
      OPC_RecordChild1,
      OPC_Scope, 52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETUNE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETO,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      0, 
     0, 
    0, 
   74|128,19, TARGET_VAL(ISD::STRICT_FSETCC),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_Scope, 64|128,6, 
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 117, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    64|128,6, 
     OPC_CheckChild1Type, MVT::f64,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 117, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    64|128,6, 
     OPC_CheckChild1Type, MVT::f128,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 117, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    0, 
   22|128,30, TARGET_VAL(ISD::STRICT_FSETCCS),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_Scope, 102|128,11, 
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 101|128,1, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    102|128,11, 
     OPC_CheckChild1Type, MVT::f64,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 101|128,1, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    64|128,6, 
     OPC_CheckChild1Type, MVT::f128,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 117, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    0, 
   0,
  117, 
   OPC_RecordChild0,
   OPC_SwitchType , 42, MVT::i32,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 22,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBC), 0,
                   MVT::i32, 1, 0, 
    29, 
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                   MVT::i32, 1, 1, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                   MVT::i32, 1, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                   MVT::i32, 3, 0, 2, 4, 
    0, 
   68, MVT::i64,
    OPC_Scope, 44, 
     OPC_CheckChild0Type, MVT::i1,
     OPC_Scope, 9, 
      OPC_CheckPatternPredicate, 22,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBC8), 0,
                    MVT::i64, 1, 0, 
     29, 
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitInteger, MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                    MVT::i64, 3, 0, 2, 4, 
     0, 
    20, 
     OPC_CheckChild0Type, MVT::i32,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::i64, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                   MVT::i64, 3, 1, 0, 2, 
    0, 
   0,
  0, 
 41|128,24|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
  OPC_Scope, 30|128,23|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 78|128,2, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 49, 
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_Scope, 20, 
      OPC_CheckPatternPredicate, 30,
      OPC_EmitInteger, MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUWLX), 0,
                    MVT::i64, 2, 2, 0, 
     20, 
      OPC_CheckPatternPredicate, 31,
      OPC_EmitInteger, MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUWRX), 0,
                    MVT::i64, 2, 2, 0, 
     0, 
    78, 
     OPC_CheckChild1Integer, 4, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_Scope, 20, 
      OPC_CheckPatternPredicate, 30,
      OPC_EmitInteger, MVT::i64, 16, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUWLX), 0,
                    MVT::i64, 2, 2, 0, 
     49, 
      OPC_CheckPatternPredicate, 31,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v2i64, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::MFVSRWZ), 0,
                    MVT::i32, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 1, 6, 7, 
     0, 
    49, 
     OPC_CheckChild1Integer, 6, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_Scope, 20, 
      OPC_CheckPatternPredicate, 30,
      OPC_EmitInteger, MVT::i64, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUWLX), 0,
                    MVT::i64, 2, 2, 0, 
     20, 
      OPC_CheckPatternPredicate, 31,
      OPC_EmitInteger, MVT::i64, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUWRX), 0,
                    MVT::i64, 2, 2, 0, 
     0, 
    78, 
     OPC_CheckChild1Integer, 2, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_Scope, 20, 
      OPC_CheckPatternPredicate, 31,
      OPC_EmitInteger, MVT::i64, 8, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUWRX), 0,
                    MVT::i64, 2, 2, 0, 
     49, 
      OPC_CheckPatternPredicate, 30,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v2i64, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::MFVSRWZ), 0,
                    MVT::i32, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 1, 6, 7, 
     0, 
    68, 
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_Scope, 29, 
      OPC_CheckPatternPredicate, 30,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 56, 
      OPC_EmitInteger, MVT::i32, 58, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                    MVT::i64, 4, 1, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUWLX), 0,
                    MVT::i64, 2, 5, 0, 
     29, 
      OPC_CheckPatternPredicate, 31,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 56, 
      OPC_EmitInteger, MVT::i32, 58, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                    MVT::i64, 4, 1, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTUWRX), 0,
                    MVT::i64, 2, 5, 0, 
     0, 
    0, 
   51|128,98, TARGET_VAL(ISD::SETCC),
    OPC_Scope, 126|128,6, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 88, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 2, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_SwitchType , 36, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_EmitInteger, MVT::i32, 64, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 1, 2, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWNM), 0,
                     MVT::i32, 4, 0, 3, 5, 6, 
      35, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_EmitInteger, MVT::i32, 0|128,1, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 1, 2, 
       OPC_EmitInteger, MVT::i32, 126, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDCL), 0,
                     MVT::i64, 3, 0, 3, 5, 
      0,
     88, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 2, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 36, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_EmitInteger, MVT::i32, 64, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 0, 2, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWNM), 0,
                     MVT::i32, 4, 1, 3, 5, 6, 
      35, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_EmitInteger, MVT::i32, 0|128,1, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 0, 2, 
       OPC_EmitInteger, MVT::i32, 126, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDCL), 0,
                     MVT::i64, 3, 1, 3, 5, 
      0,
     21|128,1, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 2, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_SwitchType , 88, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_Scope, 41, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_EmitInteger, MVT::i32, 0|128,1, 
        OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                      MVT::i32, MVT::i32, 2, 1, 2, 
        OPC_EmitInteger, MVT::i32, 126, 
        OPC_EmitNode1, TARGET_VAL(PPC::RLDCL), 0,
                      MVT::i64, 3, 0, 3, 5, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2, 6, 7, 
       40, 
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                      MVT::i64, 2, 0, 0, 
        OPC_EmitInteger, MVT::i32, 0|128,1, 
        OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                      MVT::i32, MVT::i32, 2, 1, 3, 
        OPC_EmitInteger, MVT::i32, 126, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDCL), 0,
                      MVT::i64, 3, 2, 4, 6, 
       0, 
      44, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                     MVT::i32, 2, 0, 0, 
       OPC_EmitInteger, MVT::i32, 64, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 1, 3, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWNM), 0,
                     MVT::i32, 4, 2, 4, 6, 7, 
      0,
     21|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 2, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 88, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_Scope, 41, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_EmitInteger, MVT::i32, 0|128,1, 
        OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                      MVT::i32, MVT::i32, 2, 0, 2, 
        OPC_EmitInteger, MVT::i32, 126, 
        OPC_EmitNode1, TARGET_VAL(PPC::RLDCL), 0,
                      MVT::i64, 3, 1, 3, 5, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2, 6, 7, 
       40, 
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                      MVT::i64, 2, 1, 1, 
        OPC_EmitInteger, MVT::i32, 0|128,1, 
        OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                      MVT::i32, MVT::i32, 2, 0, 3, 
        OPC_EmitInteger, MVT::i32, 126, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDCL), 0,
                      MVT::i64, 3, 2, 4, 6, 
       0, 
      44, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                     MVT::i32, 2, 1, 1, 
       OPC_EmitInteger, MVT::i32, 64, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 0, 3, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWNM), 0,
                     MVT::i32, 4, 2, 4, 6, 7, 
      0,
     125, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 2, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_SwitchType , 56, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::i64, 0, 
       OPC_EmitInteger, MVT::i32, 64, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 1, 3, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_EmitNode1, TARGET_VAL(PPC::RLWNM), 0,
                     MVT::i32, 4, 0, 4, 6, 7, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                     MVT::i64, 3, 2, 8, 9, 
      52, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                     MVT::i64, 2, 0, 0, 
       OPC_EmitInteger, MVT::i32, 0|128,1, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 1, 3, 
       OPC_EmitInteger, MVT::i32, 126, 
       OPC_EmitNode1, TARGET_VAL(PPC::RLDCL), 0,
                     MVT::i64, 3, 2, 4, 6, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i32, 2, 7, 8, 
      0,
     125, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 2, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 56, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::i64, 0, 
       OPC_EmitInteger, MVT::i32, 64, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 0, 3, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_EmitInteger, MVT::i32, 62, 
       OPC_EmitNode1, TARGET_VAL(PPC::RLWNM), 0,
                     MVT::i32, 4, 1, 4, 6, 7, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                     MVT::i64, 3, 2, 8, 9, 
      52, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0, 
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                     MVT::i64, 2, 1, 1, 
       OPC_EmitInteger, MVT::i32, 0|128,1, 
       OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                     MVT::i32, MVT::i32, 2, 0, 3, 
       OPC_EmitInteger, MVT::i32, 126, 
       OPC_EmitNode1, TARGET_VAL(PPC::RLDCL), 0,
                     MVT::i64, 3, 2, 4, 6, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i32, 2, 7, 8, 
      0,
     77, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 2, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0, 
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckType, MVT::i1,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                    MVT::i32, 2, 0, 0, 
      OPC_EmitInteger, MVT::i32, 64, 
      OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                    MVT::i32, MVT::i32, 2, 1, 4, 
      OPC_EmitInteger, MVT::i32, 62, 
      OPC_EmitInteger, MVT::i32, 62, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLWNM), 0,
                    MVT::i32, 4, 3, 5, 7, 8, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 2, 9, 10, 
     77, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 2, 
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0, 
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckType, MVT::i1,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                    MVT::i32, 2, 1, 1, 
      OPC_EmitInteger, MVT::i32, 64, 
      OPC_EmitNode2, TARGET_VAL(PPC::SUBFIC), 0,
                    MVT::i32, MVT::i32, 2, 0, 4, 
      OPC_EmitInteger, MVT::i32, 62, 
      OPC_EmitInteger, MVT::i32, 62, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLWNM), 0,
                    MVT::i32, 4, 3, 5, 7, 8, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 2, 9, 10, 
     0, 
    47|128,91, 
     OPC_RecordChild0,
     OPC_Scope, 5|128,26, 
      OPC_CheckChild0Type, MVT::i32,
      OPC_Scope, 52|128,4, 
       OPC_CheckChild1Integer, 0, 
       OPC_Scope, 70, 
        OPC_CheckChild2CondCode, ISD::SETLT,
        OPC_Scope, 22, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 0, 1, 2, 3, 
        42, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 0, 2, 3, 4, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 5, 6, 
        0, 
       84, 
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_Scope, 29, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZW), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitInteger, MVT::i32, 54, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 1, 2, 3, 4, 
        49, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZW), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitInteger, MVT::i32, 54, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 2, 3, 4, 5, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 6, 7, 
        0, 
       86, 
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 30, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                       MVT::i32, 2, 0, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 1, 2, 3, 4, 
        50, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                       MVT::i32, 2, 0, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 2, 3, 4, 5, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 6, 7, 
        0, 
       100, 
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_Scope, 37, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::NEG), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::ANDC), 0,
                       MVT::i32, 2, 1, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 2, 3, 4, 5, 
        57, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::NEG), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::ANDC), 0,
                       MVT::i32, 2, 2, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 3, 4, 5, 6, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 7, 8, 
        0, 
       100, 
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 37, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::NEG), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::ORC), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 2, 3, 4, 5, 
        57, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::NEG), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::ORC), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 3, 4, 5, 6, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 7, 8, 
        0, 
       114, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 44, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZW), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZW), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                       MVT::i32, 2, 1, 2, 
         OPC_EmitInteger, MVT::i32, 54, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 3, 4, 5, 6, 
        64, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZW), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZW), 0,
                       MVT::i32, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                       MVT::i32, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 54, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 4, 5, 6, 7, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 8, 9, 
        0, 
       0, 
      124|128,2, 
       OPC_CheckChild1Integer, 3, 
       OPC_Scope, 70, 
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 22, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 0, 1, 2, 3, 
        42, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 0, 2, 3, 4, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 5, 6, 
        0, 
       86, 
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_Scope, 30, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                       MVT::i32, 2, 0, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 1, 2, 3, 4, 
        50, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::NOR), 0,
                       MVT::i32, 2, 0, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 2, 3, 4, 5, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 6, 7, 
        0, 
       108, 
        OPC_CheckChild2CondCode, ISD::SETLT,
        OPC_Scope, 41, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::ADDI), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 3, 4, 5, 6, 
        61, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::ADDI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                       MVT::i32, 2, 0, 3, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 4, 5, 6, 7, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 8, 9, 
        0, 
       108, 
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 41, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::ADDI), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitNode1, TARGET_VAL(PPC::NAND), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 3, 4, 5, 6, 
        61, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                       MVT::i64, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::ADDI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::NAND), 0,
                       MVT::i32, 2, 0, 3, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitInteger, MVT::i32, 62, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                       MVT::i32, 4, 4, 5, 6, 7, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                       MVT::i64, 3, 1, 8, 9, 
        0, 
       0, 
      75|128,18, 
       OPC_RecordChild1,
       OPC_Scope, 56|128,11, 
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_Scope, 77, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETUGE,
         OPC_Scope, 33, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 5, 
         35, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 5, 
         0, 
        77, 
         OPC_CheckPredicate, 13,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_Scope, 33, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 5, 
         35, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 5, 
         0, 
        77, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETULE,
         OPC_Scope, 33, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 5, 
         35, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 5, 
         0, 
        27|128,1, 
         OPC_CheckPredicate, 13,
         OPC_MoveParent,
         OPC_Scope, 74, 
          OPC_CheckChild2CondCode, ISD::SETLE,
          OPC_Scope, 33, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                         MVT::i32, 1, 5, 
          35, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                         MVT::i64, 1, 5, 
          0, 
         74, 
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 33, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                         MVT::i32, 1, 5, 
          35, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                         MVT::i64, 1, 5, 
          0, 
         0, 
        71|128,1, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_Scope, 74, 
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 33, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                         MVT::i32, 1, 5, 
          35, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                         MVT::i64, 1, 5, 
          0, 
         118, 
          OPC_CheckChild2CondCode, ISD::SETUGE,
          OPC_Scope, 55, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i32, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 6, 
           OPC_EmitInteger, MVT::i32, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                         MVT::i32, 3, 5, 7, 9, 
          57, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i64, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 6, 
           OPC_EmitInteger, MVT::i64, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                         MVT::i64, 3, 5, 7, 9, 
          0, 
         0, 
        121, 
         OPC_CheckPredicate, 13,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_Scope, 55, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 6, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 5, 7, 9, 
         57, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 6, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 5, 7, 9, 
         0, 
        121, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETULE,
         OPC_Scope, 55, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 6, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 5, 7, 9, 
         57, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 6, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 5, 7, 9, 
         0, 
        115|128,1, 
         OPC_CheckPredicate, 13,
         OPC_MoveParent,
         OPC_Scope, 118, 
          OPC_CheckChild2CondCode, ISD::SETLE,
          OPC_Scope, 55, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i32, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 6, 
           OPC_EmitInteger, MVT::i32, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                         MVT::i32, 3, 5, 7, 9, 
          57, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i64, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 6, 
           OPC_EmitInteger, MVT::i64, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                         MVT::i64, 3, 5, 7, 9, 
          0, 
         118, 
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 55, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i32, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 6, 
           OPC_EmitInteger, MVT::i32, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                         MVT::i32, 3, 5, 7, 9, 
          57, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i64, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 6, 
           OPC_EmitInteger, MVT::i64, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                         MVT::i64, 3, 5, 7, 9, 
          0, 
         0, 
        121, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 55, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 6, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 5, 7, 9, 
         57, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 6, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 5, 7, 9, 
         0, 
        125|128,1, 
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 49, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                        MVT::i32, 2, 0, 3, 
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 4, 6, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 7, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 9, 
         51, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                        MVT::i32, 2, 0, 3, 
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 4, 6, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 7, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 9, 
         71, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                        MVT::i32, 2, 0, 3, 
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 4, 6, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 7, 8, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 10, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 12, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 9, 11, 13, 
         73, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                        MVT::i32, 2, 0, 3, 
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                        MVT::i32, 2, 4, 6, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 7, 8, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 10, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 12, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 9, 11, 13, 
         0, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETULE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       0, 
      0, 
     120|128,24, 
      OPC_CheckChild0Type, MVT::i64,
      OPC_Scope, 90|128,3, 
       OPC_CheckChild1Integer, 0, 
       OPC_Scope, 55, 
        OPC_CheckChild2CondCode, ISD::SETLT,
        OPC_Scope, 20, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 0, 1, 2, 
        29, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 0, 1, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 3, 4, 
        0, 
       69, 
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_Scope, 27, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZD), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitInteger, MVT::i32, 116, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 1, 2, 3, 
        36, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZD), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitInteger, MVT::i32, 116, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 1, 2, 3, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 4, 5, 
        0, 
       71, 
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 28, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                       MVT::i64, 2, 0, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 1, 2, 3, 
        37, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                       MVT::i64, 2, 0, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 1, 2, 3, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 4, 5, 
        0, 
       85, 
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_Scope, 35, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(PPC::NEG8), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::ANDC8), 0,
                       MVT::i64, 2, 1, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 2, 3, 4, 
        44, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::NEG8), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::ANDC8), 0,
                       MVT::i64, 2, 1, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 2, 3, 4, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 5, 6, 
        0, 
       85, 
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 35, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(PPC::NEG8), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::ORC8), 0,
                       MVT::i64, 2, 0, 1, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 2, 3, 4, 
        44, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::NEG8), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::ORC8), 0,
                       MVT::i64, 2, 0, 1, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 2, 3, 4, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 5, 6, 
        0, 
       99, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 42, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZD), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZD), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                       MVT::i64, 2, 1, 2, 
         OPC_EmitInteger, MVT::i32, 116, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 3, 4, 5, 
        51, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZD), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::CNTLZD), 0,
                       MVT::i64, 1, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                       MVT::i64, 2, 1, 2, 
         OPC_EmitInteger, MVT::i32, 116, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 3, 4, 5, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 6, 7, 
        0, 
       0, 
      64|128,2, 
       OPC_CheckChild1Integer, 3, 
       OPC_Scope, 55, 
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 20, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 0, 1, 2, 
        29, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 0, 1, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 3, 4, 
        0, 
       71, 
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_Scope, 28, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                       MVT::i64, 2, 0, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 1, 2, 3, 
        37, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitNode1, TARGET_VAL(PPC::NOR8), 0,
                       MVT::i64, 2, 0, 0, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 1, 2, 3, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 4, 5, 
        0, 
       93, 
        OPC_CheckChild2CondCode, ISD::SETLT,
        OPC_Scope, 39, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::ADDI8), 0,
                       MVT::i64, 2, 0, 1, 
         OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                       MVT::i64, 2, 0, 2, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 3, 4, 5, 
        48, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::ADDI8), 0,
                       MVT::i64, 2, 0, 1, 
         OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                       MVT::i64, 2, 0, 2, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 3, 4, 5, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 6, 7, 
        0, 
       93, 
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 39, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::ADDI8), 0,
                       MVT::i64, 2, 0, 1, 
         OPC_EmitNode1, TARGET_VAL(PPC::NAND8), 0,
                       MVT::i64, 2, 0, 2, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 3, 4, 5, 
        48, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::ADDI8), 0,
                       MVT::i64, 2, 0, 1, 
         OPC_EmitNode1, TARGET_VAL(PPC::NAND8), 0,
                       MVT::i64, 2, 0, 2, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitInteger, MVT::i32, 126, 
         OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                       MVT::i64, 3, 3, 4, 5, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i32, 2, 6, 7, 
        0, 
       0, 
      84|128,18, 
       OPC_RecordChild1,
       OPC_Scope, 65|128,11, 
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_Scope, 77, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETUGE,
         OPC_Scope, 33, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 5, 
         35, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 5, 
         0, 
        77, 
         OPC_CheckPredicate, 14,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_Scope, 33, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 5, 
         35, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 5, 
         0, 
        77, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETULE,
         OPC_Scope, 33, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 5, 
         35, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 5, 
         0, 
        27|128,1, 
         OPC_CheckPredicate, 14,
         OPC_MoveParent,
         OPC_Scope, 74, 
          OPC_CheckChild2CondCode, ISD::SETLE,
          OPC_Scope, 33, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                         MVT::i32, 1, 5, 
          35, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                         MVT::i64, 1, 5, 
          0, 
         74, 
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 33, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                         MVT::i32, 1, 5, 
          35, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 22,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                         MVT::i64, 1, 5, 
          0, 
         0, 
        77, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 33, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 5, 
         35, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 5, 
         0, 
        109, 
         OPC_CheckPredicate, 15,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 49, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                        MVT::i64, 2, 0, 3, 
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 4, 6, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 7, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                        MVT::i32, 1, 9, 
         51, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 22,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                        MVT::i64, 2, 0, 3, 
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 4, 6, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 7, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                        MVT::i64, 1, 9, 
         0, 
        121, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETUGE,
         OPC_Scope, 55, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 6, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 5, 7, 9, 
         57, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 6, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 5, 7, 9, 
         0, 
        121, 
         OPC_CheckPredicate, 14,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_Scope, 55, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 6, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 5, 7, 9, 
         57, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 6, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 5, 7, 9, 
         0, 
        121, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETULE,
         OPC_Scope, 55, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 6, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 5, 7, 9, 
         57, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 6, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 5, 7, 9, 
         0, 
        115|128,1, 
         OPC_CheckPredicate, 14,
         OPC_MoveParent,
         OPC_Scope, 118, 
          OPC_CheckChild2CondCode, ISD::SETLE,
          OPC_Scope, 55, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i32, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 6, 
           OPC_EmitInteger, MVT::i32, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                         MVT::i32, 3, 5, 7, 9, 
          57, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i64, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 6, 
           OPC_EmitInteger, MVT::i64, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                         MVT::i64, 3, 5, 7, 9, 
          0, 
         118, 
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 55, 
           OPC_MoveParent,
           OPC_CheckType, MVT::i32,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i32, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 6, 
           OPC_EmitInteger, MVT::i32, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                         MVT::i32, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                         MVT::i32, 3, 5, 7, 9, 
          57, 
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckType, MVT::i64,
           OPC_CheckPatternPredicate, 32,
           OPC_EmitConvertToTarget, 1,
           OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                         MVT::i32, 2, 0, 2, 
           OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
           OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                         MVT::i1, 2, 3, 4, 
           OPC_EmitInteger, MVT::i64, 0, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 6, 
           OPC_EmitInteger, MVT::i64, 2, 
           OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                         MVT::i64, 1, 8, 
           OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                         MVT::i64, 3, 5, 7, 9, 
          0, 
         0, 
        121, 
         OPC_CheckPredicate, 12,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 55, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 6, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 5, 7, 9, 
         57, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 0, 2, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 3, 4, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 6, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 8, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 5, 7, 9, 
         0, 
        25|128,1, 
         OPC_CheckPredicate, 15,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 71, 
          OPC_MoveParent,
          OPC_CheckType, MVT::i32,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                        MVT::i64, 2, 0, 3, 
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 4, 6, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 7, 8, 
          OPC_EmitInteger, MVT::i32, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 10, 
          OPC_EmitInteger, MVT::i32, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                        MVT::i32, 1, 12, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                        MVT::i32, 3, 9, 11, 13, 
         73, 
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckType, MVT::i64,
          OPC_CheckPatternPredicate, 32,
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                        MVT::i64, 2, 0, 3, 
          OPC_EmitConvertToTarget, 1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                        MVT::i32, 2, 4, 6, 
          OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i1, 2, 7, 8, 
          OPC_EmitInteger, MVT::i64, 0, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 10, 
          OPC_EmitInteger, MVT::i64, 2, 
          OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                        MVT::i64, 1, 12, 
          OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                        MVT::i64, 3, 9, 11, 13, 
         0, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETULE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       52|128,1, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 31, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                       MVT::i32, 1, 4, 
        33, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                       MVT::i64, 1, 4, 
        53, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 4, 6, 8, 
        55, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                       MVT::i32, 2, 0, 1, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 2, 3, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 5, 
         OPC_EmitInteger, MVT::i64, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 4, 6, 8, 
        0, 
       0, 
      0, 
     19|128,15, 
      OPC_CheckChild0Type, MVT::f32,
      OPC_RecordChild1,
      OPC_Scope, 34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETUNE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETO,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      0, 
     19|128,15, 
      OPC_CheckChild0Type, MVT::f64,
      OPC_RecordChild1,
      OPC_Scope, 34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETUNE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      34|128,2, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 14,
        OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETO,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      0, 
     127|128,9, 
      OPC_CheckChild0Type, MVT::f128,
      OPC_RecordChild1,
      OPC_Scope, 52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETUNE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      52|128,1, 
       OPC_CheckChild2CondCode, ISD::SETO,
       OPC_Scope, 31, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR), 0,
                      MVT::i32, 1, 4, 
       33, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBCR8), 0,
                      MVT::i64, 1, 4, 
       53, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 4, 6, 8, 
       55, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                      MVT::i32, 2, 0, 1, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 2, 3, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 4, 6, 8, 
       0, 
      0, 
     0, 
    0, 
   39, TARGET_VAL(ISD::SRL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 32, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::i64,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitNode1, TARGET_VAL(PPC::BRH), 0,
                  MVT::i32, 1, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 96, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL_32_64), 0,
                  MVT::i64, 3, 1, 2, 3, 
   74|128,19, TARGET_VAL(ISD::STRICT_FSETCC),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_Scope, 64|128,6, 
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 117, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    64|128,6, 
     OPC_CheckChild1Type, MVT::f64,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 117, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    64|128,6, 
     OPC_CheckChild1Type, MVT::f128,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 117, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    0, 
   22|128,30, TARGET_VAL(ISD::STRICT_FSETCCS),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_Scope, 102|128,11, 
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 101|128,1, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    102|128,11, 
     OPC_CheckChild1Type, MVT::f64,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 101|128,1, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    64|128,6, 
     OPC_CheckChild1Type, MVT::f128,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 117, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    0, 
   0,
  4|128,1, 
   OPC_RecordChild0,
   OPC_SwitchType , 42, MVT::i32,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 22,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBC), 0,
                   MVT::i32, 1, 0, 
    29, 
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                   MVT::i32, 1, 1, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                   MVT::i32, 1, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                   MVT::i32, 3, 0, 2, 4, 
    0, 
   83, MVT::i64,
    OPC_Scope, 44, 
     OPC_CheckChild0Type, MVT::i1,
     OPC_Scope, 9, 
      OPC_CheckPatternPredicate, 22,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::SETBC8), 0,
                    MVT::i64, 1, 0, 
     29, 
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitInteger, MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                    MVT::i64, 3, 0, 2, 4, 
     0, 
    35, 
     OPC_CheckChild0Type, MVT::i32,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::i64, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                   MVT::i64, 3, 1, 0, 2, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 64, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 3, 4, 5, 
    0, 
   0,
  0, 
 76|128,3|128,1, TARGET_VAL(ISD::SIGN_EXTEND),
  OPC_Scope, 92|128,2|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 20|128,3, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 63, 
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_Scope, 27, 
      OPC_CheckPatternPredicate, 30,
      OPC_EmitInteger, MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUWLX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSW), 0,
                    MVT::i64, 1, 3, 
     27, 
      OPC_CheckPatternPredicate, 31,
      OPC_EmitInteger, MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUWRX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSW), 0,
                    MVT::i64, 1, 3, 
     0, 
    92, 
     OPC_CheckChild1Integer, 4, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_Scope, 27, 
      OPC_CheckPatternPredicate, 30,
      OPC_EmitInteger, MVT::i64, 16, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUWLX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSW), 0,
                    MVT::i64, 1, 3, 
     56, 
      OPC_CheckPatternPredicate, 31,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v2i64, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::MFVSRWZ), 0,
                    MVT::i32, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 1, 6, 7, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSW), 0,
                    MVT::i64, 1, 8, 
     0, 
    63, 
     OPC_CheckChild1Integer, 6, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_Scope, 27, 
      OPC_CheckPatternPredicate, 30,
      OPC_EmitInteger, MVT::i64, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUWLX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSW), 0,
                    MVT::i64, 1, 3, 
     27, 
      OPC_CheckPatternPredicate, 31,
      OPC_EmitInteger, MVT::i64, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUWRX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSW), 0,
                    MVT::i64, 1, 3, 
     0, 
    92, 
     OPC_CheckChild1Integer, 2, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_Scope, 27, 
      OPC_CheckPatternPredicate, 31,
      OPC_EmitInteger, MVT::i64, 8, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUWRX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSW), 0,
                    MVT::i64, 1, 3, 
     56, 
      OPC_CheckPatternPredicate, 30,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v2i64, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::MFVSRWZ), 0,
                    MVT::i32, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 1, 6, 7, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSW), 0,
                    MVT::i64, 1, 8, 
     0, 
    82, 
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_Scope, 36, 
      OPC_CheckPatternPredicate, 30,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 56, 
      OPC_EmitInteger, MVT::i32, 58, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                    MVT::i64, 4, 1, 2, 3, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUWLX), 0,
                    MVT::i64, 2, 5, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSW), 0,
                    MVT::i64, 1, 6, 
     36, 
      OPC_CheckPatternPredicate, 31,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 56, 
      OPC_EmitInteger, MVT::i32, 58, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                    MVT::i64, 4, 1, 2, 3, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUWRX), 0,
                    MVT::i64, 2, 5, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSW), 0,
                    MVT::i64, 1, 6, 
     0, 
    0, 
   85|128,77, TARGET_VAL(ISD::SETCC),
    OPC_RecordChild0,
    OPC_Scope, 77|128,18, 
     OPC_CheckChild0Type, MVT::i32,
     OPC_RecordChild1,
     OPC_Scope, 56|128,11, 
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 77, 
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 33, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                      MVT::i32, 1, 5, 
       35, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                      MVT::i64, 1, 5, 
       0, 
      77, 
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 33, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                      MVT::i32, 1, 5, 
       35, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                      MVT::i64, 1, 5, 
       0, 
      77, 
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 33, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                      MVT::i32, 1, 5, 
       35, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                      MVT::i64, 1, 5, 
       0, 
      27|128,1, 
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_Scope, 74, 
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 33, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                       MVT::i32, 1, 5, 
        35, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                       MVT::i64, 1, 5, 
        0, 
       74, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 33, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                       MVT::i32, 1, 5, 
        35, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                       MVT::i64, 1, 5, 
        0, 
       0, 
      71|128,1, 
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_Scope, 74, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 33, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                       MVT::i32, 1, 5, 
        35, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                       MVT::i64, 1, 5, 
        0, 
       118, 
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_Scope, 55, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 6, 
         OPC_EmitInteger, MVT::i32, 3, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 8, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 5, 7, 9, 
        57, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 6, 
         OPC_EmitInteger, MVT::i64, 3, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 8, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 5, 7, 9, 
        0, 
       0, 
      121, 
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 55, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 6, 
        OPC_EmitInteger, MVT::i32, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 5, 7, 9, 
       57, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 6, 
        OPC_EmitInteger, MVT::i64, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 5, 7, 9, 
       0, 
      121, 
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 55, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 6, 
        OPC_EmitInteger, MVT::i32, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 5, 7, 9, 
       57, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 6, 
        OPC_EmitInteger, MVT::i64, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 5, 7, 9, 
       0, 
      115|128,1, 
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_Scope, 118, 
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 55, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 6, 
         OPC_EmitInteger, MVT::i32, 3, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 8, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 5, 7, 9, 
        57, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 6, 
         OPC_EmitInteger, MVT::i64, 3, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 8, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 5, 7, 9, 
        0, 
       118, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 55, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 6, 
         OPC_EmitInteger, MVT::i32, 3, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 8, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 5, 7, 9, 
        57, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 6, 
         OPC_EmitInteger, MVT::i64, 3, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 8, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 5, 7, 9, 
        0, 
       0, 
      121, 
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 55, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 6, 
        OPC_EmitInteger, MVT::i32, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 5, 7, 9, 
       57, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 6, 
        OPC_EmitInteger, MVT::i64, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 5, 7, 9, 
       0, 
      125|128,1, 
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 49, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNodeXForm, 0, 2,
        OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                      MVT::i32, 2, 0, 3, 
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNodeXForm, 1, 5,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                      MVT::i32, 2, 4, 6, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 7, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                      MVT::i32, 1, 9, 
       51, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNodeXForm, 0, 2,
        OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                      MVT::i32, 2, 0, 3, 
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNodeXForm, 1, 5,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                      MVT::i32, 2, 4, 6, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 7, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                      MVT::i64, 1, 9, 
       71, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNodeXForm, 0, 2,
        OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                      MVT::i32, 2, 0, 3, 
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNodeXForm, 1, 5,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                      MVT::i32, 2, 4, 6, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 7, 8, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 10, 
        OPC_EmitInteger, MVT::i32, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 12, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 9, 11, 13, 
       73, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNodeXForm, 0, 2,
        OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                      MVT::i32, 2, 0, 3, 
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNodeXForm, 1, 5,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                      MVT::i32, 2, 4, 6, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 7, 8, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 10, 
        OPC_EmitInteger, MVT::i64, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 12, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 9, 11, 13, 
       0, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     0, 
    86|128,18, 
     OPC_CheckChild0Type, MVT::i64,
     OPC_RecordChild1,
     OPC_Scope, 65|128,11, 
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 77, 
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 33, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                      MVT::i32, 1, 5, 
       35, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                      MVT::i64, 1, 5, 
       0, 
      77, 
       OPC_CheckPredicate, 14,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 33, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                      MVT::i32, 1, 5, 
       35, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                      MVT::i64, 1, 5, 
       0, 
      77, 
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 33, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                      MVT::i32, 1, 5, 
       35, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                      MVT::i64, 1, 5, 
       0, 
      27|128,1, 
       OPC_CheckPredicate, 14,
       OPC_MoveParent,
       OPC_Scope, 74, 
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 33, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                       MVT::i32, 1, 5, 
        35, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                       MVT::i64, 1, 5, 
        0, 
       74, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 33, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                       MVT::i32, 1, 5, 
        35, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 22,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                       MVT::i64, 1, 5, 
        0, 
       0, 
      77, 
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 33, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                      MVT::i32, 1, 5, 
       35, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                      MVT::i64, 1, 5, 
       0, 
      109, 
       OPC_CheckPredicate, 15,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 49, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNodeXForm, 0, 2,
        OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                      MVT::i64, 2, 0, 3, 
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNodeXForm, 1, 5,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                      MVT::i32, 2, 4, 6, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 7, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                      MVT::i32, 1, 9, 
       51, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 22,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNodeXForm, 0, 2,
        OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                      MVT::i64, 2, 0, 3, 
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNodeXForm, 1, 5,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                      MVT::i32, 2, 4, 6, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 7, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                      MVT::i64, 1, 9, 
       0, 
      121, 
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 55, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 6, 
        OPC_EmitInteger, MVT::i32, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 5, 7, 9, 
       57, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 6, 
        OPC_EmitInteger, MVT::i64, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 5, 7, 9, 
       0, 
      121, 
       OPC_CheckPredicate, 14,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 55, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 6, 
        OPC_EmitInteger, MVT::i32, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 5, 7, 9, 
       57, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 6, 
        OPC_EmitInteger, MVT::i64, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 5, 7, 9, 
       0, 
      121, 
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 55, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 6, 
        OPC_EmitInteger, MVT::i32, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 5, 7, 9, 
       57, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 6, 
        OPC_EmitInteger, MVT::i64, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 5, 7, 9, 
       0, 
      115|128,1, 
       OPC_CheckPredicate, 14,
       OPC_MoveParent,
       OPC_Scope, 118, 
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 55, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 6, 
         OPC_EmitInteger, MVT::i32, 3, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 8, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 5, 7, 9, 
        57, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 6, 
         OPC_EmitInteger, MVT::i64, 3, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 8, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 5, 7, 9, 
        0, 
       118, 
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 55, 
         OPC_MoveParent,
         OPC_CheckType, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 6, 
         OPC_EmitInteger, MVT::i32, 3, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                       MVT::i32, 1, 8, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                       MVT::i32, 3, 5, 7, 9, 
        57, 
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::i64,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitConvertToTarget, 1,
         OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                       MVT::i32, 2, 0, 2, 
         OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
         OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                       MVT::i1, 2, 3, 4, 
         OPC_EmitInteger, MVT::i64, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 6, 
         OPC_EmitInteger, MVT::i64, 3, 
         OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                       MVT::i64, 1, 8, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                       MVT::i64, 3, 5, 7, 9, 
        0, 
       0, 
      121, 
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 55, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 6, 
        OPC_EmitInteger, MVT::i32, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 5, 7, 9, 
       57, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                      MVT::i32, 2, 0, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 3, 4, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 6, 
        OPC_EmitInteger, MVT::i64, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 5, 7, 9, 
       0, 
      25|128,1, 
       OPC_CheckPredicate, 15,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 71, 
        OPC_MoveParent,
        OPC_CheckType, MVT::i32,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNodeXForm, 0, 2,
        OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                      MVT::i64, 2, 0, 3, 
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNodeXForm, 1, 5,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                      MVT::i32, 2, 4, 6, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 7, 8, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 10, 
        OPC_EmitInteger, MVT::i32, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                      MVT::i32, 1, 12, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                      MVT::i32, 3, 9, 11, 13, 
       73, 
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::i64,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNodeXForm, 0, 2,
        OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                      MVT::i64, 2, 0, 3, 
        OPC_EmitConvertToTarget, 1,
        OPC_EmitNodeXForm, 1, 5,
        OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                      MVT::i32, 2, 4, 6, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i1, 2, 7, 8, 
        OPC_EmitInteger, MVT::i64, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 10, 
        OPC_EmitInteger, MVT::i64, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                      MVT::i64, 1, 12, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                      MVT::i64, 3, 9, 11, 13, 
       0, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     0, 
    19|128,15, 
     OPC_CheckChild0Type, MVT::f32,
     OPC_RecordChild1,
     OPC_Scope, 34|128,2, 
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     34|128,2, 
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     34|128,2, 
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     34|128,2, 
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     34|128,2, 
      OPC_CheckChild2CondCode, ISD::SETUNE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     34|128,2, 
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETO,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     0, 
    19|128,15, 
     OPC_CheckChild0Type, MVT::f64,
     OPC_RecordChild1,
     OPC_Scope, 34|128,2, 
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     34|128,2, 
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     34|128,2, 
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     34|128,2, 
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     34|128,2, 
      OPC_CheckChild2CondCode, ISD::SETUNE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     34|128,2, 
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETO,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     0, 
    127|128,9, 
     OPC_CheckChild0Type, MVT::f128,
     OPC_RecordChild1,
     OPC_Scope, 52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETUNE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     52|128,1, 
      OPC_CheckChild2CondCode, ISD::SETO,
      OPC_Scope, 31, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR), 0,
                     MVT::i32, 1, 4, 
      33, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBCR8), 0,
                     MVT::i64, 1, 4, 
      53, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 5, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 4, 6, 8, 
      55, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 5, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 7, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 4, 6, 8, 
      0, 
     0, 
    0, 
   74|128,19, TARGET_VAL(ISD::STRICT_FSETCC),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_Scope, 64|128,6, 
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 117, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    64|128,6, 
     OPC_CheckChild1Type, MVT::f64,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 117, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    64|128,6, 
     OPC_CheckChild1Type, MVT::f128,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 117, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    0, 
   22|128,30, TARGET_VAL(ISD::STRICT_FSETCCS),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_Scope, 102|128,11, 
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 101|128,1, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    102|128,11, 
     OPC_CheckChild1Type, MVT::f64,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 101|128,1, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     101|128,1, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    64|128,6, 
     OPC_CheckChild1Type, MVT::f128,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 117, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     117, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 54, 
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 6, 
       OPC_EmitInteger, MVT::i32, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                     MVT::i32, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                     MVT::i32, 3, 5, 7, 9, 
      56, 
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
       OPC_EmitInteger, MVT::i64, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 6, 
       OPC_EmitInteger, MVT::i64, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                     MVT::i64, 1, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                     MVT::i64, 3, 5, 7, 9, 
      0, 
     0, 
    0, 
   0,
  106, 
   OPC_RecordChild0,
   OPC_SwitchType , 57, MVT::i64,
    OPC_Scope, 9, 
     OPC_CheckChild0Type, MVT::i32,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSW_32_64), 0,
                   MVT::i64, 1, 0, 
    44, 
     OPC_CheckChild0Type, MVT::i1,
     OPC_Scope, 9, 
      OPC_CheckPatternPredicate, 22,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBC8), 0,
                    MVT::i64, 1, 0, 
     29, 
      OPC_EmitInteger, MVT::i64, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitInteger, MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                    MVT::i64, 3, 0, 2, 4, 
     0, 
    0, 
   42, MVT::i32,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 22,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SETNBC), 0,
                   MVT::i32, 1, 0, 
    29, 
     OPC_EmitInteger, MVT::i32, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                   MVT::i32, 1, 1, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                   MVT::i32, 1, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                   MVT::i32, 3, 0, 2, 4, 
    0, 
   0,
  0, 
 71|128,61, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
  OPC_RecordChild0,
  OPC_Scope, 28|128,5, 
   OPC_CheckChild1Integer, 2, 
   OPC_SwitchType , 104, MVT::i64,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 34,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRLD), 0,
                   MVT::i64, 1, 0, 
    91, 
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_Scope, 31, 
      OPC_CheckPatternPredicate, 35,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v2i64, 2, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                    MVT::i64, 1, 4, 
     54, 
      OPC_CheckPatternPredicate, 36,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 0, 3, 
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 2, 4, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                    MVT::i64, 1, 8, 
     0, 
    0, 
   43|128,4, MVT::i32,
    OPC_Scope, 5|128,1, 
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_Scope, 31, 
      OPC_CheckPatternPredicate, 37,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v2i64, 2, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRWZ), 0,
                    MVT::i32, 1, 4, 
     32, 
      OPC_CheckPatternPredicate, 38,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                    MVT::v4i32, 3, 0, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRWZ), 0,
                    MVT::i32, 1, 4, 
     31, 
      OPC_CheckPatternPredicate, 30,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v2i64, 2, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRWZ), 0,
                    MVT::i32, 1, 4, 
     31, 
      OPC_CheckPatternPredicate, 31,
      OPC_EmitInteger, MVT::i64, 8, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUWRX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 3, 4, 
     0, 
    79|128,1, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 31, 
      OPC_CheckPatternPredicate, 30,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 3, 4, 
     31, 
      OPC_CheckPatternPredicate, 31,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 3, 4, 
     57, 
      OPC_CheckPatternPredicate, 37,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v2i64, 2, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                    MVT::i64, 1, 4, 
      OPC_EmitInteger, MVT::i32, 32, 
      OPC_EmitInteger, MVT::i32, 112, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                    MVT::i64, 3, 5, 6, 7, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 8, 9, 
     80, 
      OPC_CheckPatternPredicate, 38,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 0, 3, 
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 2, 4, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                    MVT::i64, 1, 8, 
      OPC_EmitInteger, MVT::i32, 112, 
      OPC_EmitInteger, MVT::i32, 112, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                    MVT::i64, 3, 9, 10, 11, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 12, 13, 
     0, 
    79|128,1, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 31, 
      OPC_CheckPatternPredicate, 30,
      OPC_EmitInteger, MVT::i64, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHLX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 3, 4, 
     31, 
      OPC_CheckPatternPredicate, 31,
      OPC_EmitInteger, MVT::i64, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHRX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 3, 4, 
     57, 
      OPC_CheckPatternPredicate, 37,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v2i64, 2, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                    MVT::i64, 1, 4, 
      OPC_EmitInteger, MVT::i32, 64, 
      OPC_EmitInteger, MVT::i32, 96, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                    MVT::i64, 3, 5, 6, 7, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 8, 9, 
     80, 
      OPC_CheckPatternPredicate, 38,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 0, 3, 
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 2, 4, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                    MVT::i64, 1, 8, 
      OPC_EmitInteger, MVT::i32, 96, 
      OPC_EmitInteger, MVT::i32, 96, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                    MVT::i64, 3, 9, 10, 11, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 12, 13, 
     0, 
    0, 
   0,
  29|128,5, 
   OPC_CheckChild1Integer, 0, 
   OPC_SwitchType , 104, MVT::i64,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 39,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRLD), 0,
                   MVT::i64, 1, 0, 
    91, 
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_Scope, 31, 
      OPC_CheckPatternPredicate, 36,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v2i64, 2, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                    MVT::i64, 1, 4, 
     54, 
      OPC_CheckPatternPredicate, 35,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 0, 3, 
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 2, 4, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                    MVT::i64, 1, 8, 
     0, 
    0, 
   44|128,4, MVT::i32,
    OPC_Scope, 6|128,1, 
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_Scope, 32, 
      OPC_CheckPatternPredicate, 37,
      OPC_EmitInteger, MVT::i32, 6, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                    MVT::v4i32, 3, 0, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRWZ), 0,
                    MVT::i32, 1, 4, 
     32, 
      OPC_CheckPatternPredicate, 38,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 0, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRWZ), 0,
                    MVT::i32, 1, 4, 
     31, 
      OPC_CheckPatternPredicate, 30,
      OPC_EmitInteger, MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUWLX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 3, 4, 
     31, 
      OPC_CheckPatternPredicate, 31,
      OPC_EmitInteger, MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUWRX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 3, 4, 
     0, 
    79|128,1, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 31, 
      OPC_CheckPatternPredicate, 30,
      OPC_EmitInteger, MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 3, 4, 
     31, 
      OPC_CheckPatternPredicate, 31,
      OPC_EmitInteger, MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 3, 4, 
     57, 
      OPC_CheckPatternPredicate, 37,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v2i64, 2, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                    MVT::i64, 1, 4, 
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 112, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                    MVT::i64, 3, 5, 6, 7, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 8, 9, 
     80, 
      OPC_CheckPatternPredicate, 38,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 0, 3, 
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 2, 4, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                    MVT::i64, 1, 8, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 112, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                    MVT::i64, 3, 9, 10, 11, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 12, 13, 
     0, 
    79|128,1, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 31, 
      OPC_CheckPatternPredicate, 30,
      OPC_EmitInteger, MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHLX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 3, 4, 
     31, 
      OPC_CheckPatternPredicate, 31,
      OPC_EmitInteger, MVT::i64, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHRX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 3, 4, 
     57, 
      OPC_CheckPatternPredicate, 37,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v2i64, 2, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                    MVT::i64, 1, 4, 
      OPC_EmitInteger, MVT::i32, 32, 
      OPC_EmitInteger, MVT::i32, 96, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                    MVT::i64, 3, 5, 6, 7, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 8, 9, 
     80, 
      OPC_CheckPatternPredicate, 38,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 0, 3, 
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 2, 4, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 6, 7, 
      OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                    MVT::i64, 1, 8, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 96, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                    MVT::i64, 3, 9, 10, 11, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 12, 13, 
     0, 
    0, 
   0,
  47|128,4, 
   OPC_CheckChild1Integer, 4, 
   OPC_CheckType, MVT::i32,
   OPC_Scope, 5|128,1, 
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_Scope, 32, 
     OPC_CheckPatternPredicate, 37,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4i32, 3, 0, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRWZ), 0,
                   MVT::i32, 1, 4, 
    31, 
     OPC_CheckPatternPredicate, 38,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRWZ), 0,
                   MVT::i32, 1, 4, 
    31, 
     OPC_CheckPatternPredicate, 30,
     OPC_EmitInteger, MVT::i64, 16, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUWLX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    31, 
     OPC_CheckPatternPredicate, 31,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRWZ), 0,
                   MVT::i32, 1, 4, 
    0, 
   79|128,1, 
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_Scope, 31, 
     OPC_CheckPatternPredicate, 30,
     OPC_EmitInteger, MVT::i64, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    31, 
     OPC_CheckPatternPredicate, 31,
     OPC_EmitInteger, MVT::i64, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    57, 
     OPC_CheckPatternPredicate, 37,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 4, 
     OPC_EmitInteger, MVT::i32, 48, 
     OPC_EmitInteger, MVT::i32, 112, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 5, 6, 7, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 8, 9, 
    80, 
     OPC_CheckPatternPredicate, 38,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v4i32, 3, 2, 4, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 6, 7, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 8, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitInteger, MVT::i32, 112, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 9, 10, 11, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 12, 13, 
    0, 
   79|128,1, 
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_Scope, 31, 
     OPC_CheckPatternPredicate, 30,
     OPC_EmitInteger, MVT::i64, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHLX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    31, 
     OPC_CheckPatternPredicate, 31,
     OPC_EmitInteger, MVT::i64, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHRX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    57, 
     OPC_CheckPatternPredicate, 37,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 4, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 5, 6, 7, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 8, 9, 
    80, 
     OPC_CheckPatternPredicate, 38,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v4i32, 3, 2, 4, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 6, 7, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 8, 
     OPC_EmitInteger, MVT::i32, 64, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 9, 10, 11, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 12, 13, 
    0, 
   0, 
  48|128,4, 
   OPC_CheckChild1Integer, 6, 
   OPC_CheckType, MVT::i32,
   OPC_Scope, 6|128,1, 
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_Scope, 32, 
     OPC_CheckPatternPredicate, 37,
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v4i32, 3, 0, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRWZ), 0,
                   MVT::i32, 1, 4, 
    32, 
     OPC_CheckPatternPredicate, 38,
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4i32, 3, 0, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRWZ), 0,
                   MVT::i32, 1, 4, 
    31, 
     OPC_CheckPatternPredicate, 30,
     OPC_EmitInteger, MVT::i64, 24, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUWLX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    31, 
     OPC_CheckPatternPredicate, 31,
     OPC_EmitInteger, MVT::i64, 24, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUWRX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    0, 
   79|128,1, 
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_Scope, 31, 
     OPC_CheckPatternPredicate, 30,
     OPC_EmitInteger, MVT::i64, 6, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    31, 
     OPC_CheckPatternPredicate, 31,
     OPC_EmitInteger, MVT::i64, 6, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    57, 
     OPC_CheckPatternPredicate, 37,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 4, 
     OPC_EmitInteger, MVT::i32, 64, 
     OPC_EmitInteger, MVT::i32, 112, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 5, 6, 7, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 8, 9, 
    80, 
     OPC_CheckPatternPredicate, 38,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v4i32, 3, 2, 4, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 6, 7, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 8, 
     OPC_EmitInteger, MVT::i32, 80, 
     OPC_EmitInteger, MVT::i32, 112, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 9, 10, 11, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 12, 13, 
    0, 
   79|128,1, 
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_Scope, 31, 
     OPC_CheckPatternPredicate, 30,
     OPC_EmitInteger, MVT::i64, 12, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHLX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    31, 
     OPC_CheckPatternPredicate, 31,
     OPC_EmitInteger, MVT::i64, 12, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHRX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    57, 
     OPC_CheckPatternPredicate, 37,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 4, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 5, 6, 7, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 8, 9, 
    80, 
     OPC_CheckPatternPredicate, 38,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v4i32, 3, 2, 4, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 6, 7, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 8, 
     OPC_EmitInteger, MVT::i32, 32, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 9, 10, 11, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 12, 13, 
    0, 
   0, 
  40|128,3, 
   OPC_CheckChild1Integer, 8, 
   OPC_CheckType, MVT::i32,
   OPC_Scope, 79|128,1, 
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_Scope, 31, 
     OPC_CheckPatternPredicate, 30,
     OPC_EmitInteger, MVT::i64, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    31, 
     OPC_CheckPatternPredicate, 31,
     OPC_EmitInteger, MVT::i64, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    57, 
     OPC_CheckPatternPredicate, 37,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 4, 
     OPC_EmitInteger, MVT::i32, 80, 
     OPC_EmitInteger, MVT::i32, 112, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 5, 6, 7, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 8, 9, 
    80, 
     OPC_CheckPatternPredicate, 38,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v4i32, 3, 2, 4, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 6, 7, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 8, 
     OPC_EmitInteger, MVT::i32, 64, 
     OPC_EmitInteger, MVT::i32, 112, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 9, 10, 11, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 12, 13, 
    0, 
   79|128,1, 
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_Scope, 31, 
     OPC_CheckPatternPredicate, 30,
     OPC_EmitInteger, MVT::i64, 16, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHLX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    31, 
     OPC_CheckPatternPredicate, 31,
     OPC_EmitInteger, MVT::i64, 16, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHRX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    57, 
     OPC_CheckPatternPredicate, 38,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 4, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 5, 6, 7, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 8, 9, 
    80, 
     OPC_CheckPatternPredicate, 37,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v4i32, 3, 2, 4, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 6, 7, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 8, 
     OPC_EmitInteger, MVT::i32, 32, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 9, 10, 11, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 12, 13, 
    0, 
   0, 
  40|128,3, 
   OPC_CheckChild1Integer, 10, 
   OPC_CheckType, MVT::i32,
   OPC_Scope, 79|128,1, 
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_Scope, 31, 
     OPC_CheckPatternPredicate, 30,
     OPC_EmitInteger, MVT::i64, 10, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    31, 
     OPC_CheckPatternPredicate, 31,
     OPC_EmitInteger, MVT::i64, 10, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    57, 
     OPC_CheckPatternPredicate, 37,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 4, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitInteger, MVT::i32, 112, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 5, 6, 7, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 8, 9, 
    80, 
     OPC_CheckPatternPredicate, 38,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v4i32, 3, 2, 4, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 6, 7, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 8, 
     OPC_EmitInteger, MVT::i32, 48, 
     OPC_EmitInteger, MVT::i32, 112, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 9, 10, 11, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 12, 13, 
    0, 
   79|128,1, 
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_Scope, 31, 
     OPC_CheckPatternPredicate, 30,
     OPC_EmitInteger, MVT::i64, 20, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHLX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    31, 
     OPC_CheckPatternPredicate, 31,
     OPC_EmitInteger, MVT::i64, 20, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHRX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    57, 
     OPC_CheckPatternPredicate, 38,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 4, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 5, 6, 7, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 8, 9, 
    80, 
     OPC_CheckPatternPredicate, 37,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v4i32, 3, 2, 4, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 6, 7, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 8, 
     OPC_EmitInteger, MVT::i32, 64, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 9, 10, 11, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 12, 13, 
    0, 
   0, 
  106|128,3, 
   OPC_CheckChild1Integer, 12, 
   OPC_CheckType, MVT::i32,
   OPC_Scope, 79|128,1, 
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_Scope, 31, 
     OPC_CheckPatternPredicate, 30,
     OPC_EmitInteger, MVT::i64, 12, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    31, 
     OPC_CheckPatternPredicate, 31,
     OPC_EmitInteger, MVT::i64, 12, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    57, 
     OPC_CheckPatternPredicate, 37,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 4, 
     OPC_EmitInteger, MVT::i32, 112, 
     OPC_EmitInteger, MVT::i32, 112, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 5, 6, 7, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 8, 9, 
    80, 
     OPC_CheckPatternPredicate, 38,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v4i32, 3, 2, 4, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 6, 7, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 8, 
     OPC_EmitInteger, MVT::i32, 32, 
     OPC_EmitInteger, MVT::i32, 112, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 9, 10, 11, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 12, 13, 
    0, 
   17|128,2, 
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_Scope, 64, 
     OPC_CheckPatternPredicate, 30,
     OPC_Scope, 29, 
      OPC_EmitInteger, MVT::i64, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHLX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 3, 4, 
     29, 
      OPC_EmitInteger, MVT::i64, 28, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHLX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 3, 4, 
     0, 
    64, 
     OPC_CheckPatternPredicate, 31,
     OPC_Scope, 29, 
      OPC_EmitInteger, MVT::i64, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHRX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 3, 4, 
     29, 
      OPC_EmitInteger, MVT::i64, 28, 
      OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                    MVT::i64, 1, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHRX), 0,
                    MVT::i64, 2, 2, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 3, 4, 
     0, 
    57, 
     OPC_CheckPatternPredicate, 38,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 4, 
     OPC_EmitInteger, MVT::i32, 64, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 5, 6, 7, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 8, 9, 
    80, 
     OPC_CheckPatternPredicate, 37,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v4i32, 3, 2, 4, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 6, 7, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 8, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 9, 10, 11, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 12, 13, 
    0, 
   0, 
  104|128,2, 
   OPC_CheckChild1Integer, 14, 
   OPC_CheckType, MVT::i32,
   OPC_Scope, 79|128,1, 
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_Scope, 31, 
     OPC_CheckPatternPredicate, 30,
     OPC_EmitInteger, MVT::i64, 14, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    31, 
     OPC_CheckPatternPredicate, 31,
     OPC_EmitInteger, MVT::i64, 14, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                   MVT::i64, 2, 2, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 3, 4, 
    57, 
     OPC_CheckPatternPredicate, 37,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 4, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 112, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 5, 6, 7, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 8, 9, 
    80, 
     OPC_CheckPatternPredicate, 38,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v4i32, 3, 2, 4, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 6, 7, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 8, 
     OPC_EmitInteger, MVT::i32, 16, 
     OPC_EmitInteger, MVT::i32, 112, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 9, 10, 11, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 12, 13, 
    0, 
   15|128,1, 
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_Scope, 57, 
     OPC_CheckPatternPredicate, 38,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 4, 
     OPC_EmitInteger, MVT::i32, 32, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 5, 6, 7, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 8, 9, 
    80, 
     OPC_CheckPatternPredicate, 37,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v4i32, 3, 2, 4, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 6, 7, 
     OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                   MVT::i64, 1, 8, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 96, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 9, 10, 11, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 12, 13, 
    0, 
   0, 
  83|128,1, 
   OPC_CheckChild1Integer, 16, 
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 31, 
    OPC_CheckPatternPredicate, 30,
    OPC_EmitInteger, MVT::i64, 16, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                  MVT::i64, 2, 2, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   31, 
    OPC_CheckPatternPredicate, 31,
    OPC_EmitInteger, MVT::i64, 16, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                  MVT::i64, 2, 2, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   57, 
    OPC_CheckPatternPredicate, 38,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 2, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 5, 6, 7, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 8, 9, 
   80, 
    OPC_CheckPatternPredicate, 37,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 3, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v4i32, 3, 2, 4, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 6, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 8, 
    OPC_EmitInteger, MVT::i32, 16, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 9, 10, 11, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 12, 13, 
   0, 
  83|128,1, 
   OPC_CheckChild1Integer, 18, 
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 31, 
    OPC_CheckPatternPredicate, 30,
    OPC_EmitInteger, MVT::i64, 18, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                  MVT::i64, 2, 2, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   31, 
    OPC_CheckPatternPredicate, 31,
    OPC_EmitInteger, MVT::i64, 18, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                  MVT::i64, 2, 2, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   57, 
    OPC_CheckPatternPredicate, 38,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 2, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 4, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 5, 6, 7, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 8, 9, 
   80, 
    OPC_CheckPatternPredicate, 37,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 3, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v4i32, 3, 2, 4, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 6, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 8, 
    OPC_EmitInteger, MVT::i32, 32, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 9, 10, 11, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 12, 13, 
   0, 
  83|128,1, 
   OPC_CheckChild1Integer, 20, 
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 31, 
    OPC_CheckPatternPredicate, 30,
    OPC_EmitInteger, MVT::i64, 20, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                  MVT::i64, 2, 2, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   31, 
    OPC_CheckPatternPredicate, 31,
    OPC_EmitInteger, MVT::i64, 20, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                  MVT::i64, 2, 2, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   57, 
    OPC_CheckPatternPredicate, 38,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 2, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 4, 
    OPC_EmitInteger, MVT::i32, 96, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 5, 6, 7, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 8, 9, 
   80, 
    OPC_CheckPatternPredicate, 37,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 3, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v4i32, 3, 2, 4, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 6, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 8, 
    OPC_EmitInteger, MVT::i32, 48, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 9, 10, 11, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 12, 13, 
   0, 
  83|128,1, 
   OPC_CheckChild1Integer, 22, 
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 31, 
    OPC_CheckPatternPredicate, 30,
    OPC_EmitInteger, MVT::i64, 22, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                  MVT::i64, 2, 2, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   31, 
    OPC_CheckPatternPredicate, 31,
    OPC_EmitInteger, MVT::i64, 22, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                  MVT::i64, 2, 2, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   57, 
    OPC_CheckPatternPredicate, 38,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 2, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 4, 
    OPC_EmitInteger, MVT::i32, 80, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 5, 6, 7, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 8, 9, 
   80, 
    OPC_CheckPatternPredicate, 37,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 3, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v4i32, 3, 2, 4, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 6, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 8, 
    OPC_EmitInteger, MVT::i32, 64, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 9, 10, 11, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 12, 13, 
   0, 
  83|128,1, 
   OPC_CheckChild1Integer, 24, 
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 31, 
    OPC_CheckPatternPredicate, 30,
    OPC_EmitInteger, MVT::i64, 24, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                  MVT::i64, 2, 2, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   31, 
    OPC_CheckPatternPredicate, 31,
    OPC_EmitInteger, MVT::i64, 24, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                  MVT::i64, 2, 2, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   57, 
    OPC_CheckPatternPredicate, 38,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 2, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 4, 
    OPC_EmitInteger, MVT::i32, 64, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 5, 6, 7, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 8, 9, 
   80, 
    OPC_CheckPatternPredicate, 37,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 3, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v4i32, 3, 2, 4, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 6, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 8, 
    OPC_EmitInteger, MVT::i32, 80, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 9, 10, 11, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 12, 13, 
   0, 
  83|128,1, 
   OPC_CheckChild1Integer, 26, 
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 31, 
    OPC_CheckPatternPredicate, 30,
    OPC_EmitInteger, MVT::i64, 26, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                  MVT::i64, 2, 2, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   31, 
    OPC_CheckPatternPredicate, 31,
    OPC_EmitInteger, MVT::i64, 26, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                  MVT::i64, 2, 2, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   57, 
    OPC_CheckPatternPredicate, 38,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 2, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 4, 
    OPC_EmitInteger, MVT::i32, 48, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 5, 6, 7, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 8, 9, 
   80, 
    OPC_CheckPatternPredicate, 37,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 3, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v4i32, 3, 2, 4, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 6, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 8, 
    OPC_EmitInteger, MVT::i32, 96, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 9, 10, 11, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 12, 13, 
   0, 
  83|128,1, 
   OPC_CheckChild1Integer, 28, 
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 31, 
    OPC_CheckPatternPredicate, 30,
    OPC_EmitInteger, MVT::i64, 28, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                  MVT::i64, 2, 2, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   31, 
    OPC_CheckPatternPredicate, 31,
    OPC_EmitInteger, MVT::i64, 28, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                  MVT::i64, 2, 2, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   57, 
    OPC_CheckPatternPredicate, 38,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 2, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 4, 
    OPC_EmitInteger, MVT::i32, 32, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 5, 6, 7, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 8, 9, 
   80, 
    OPC_CheckPatternPredicate, 37,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 3, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v4i32, 3, 2, 4, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 6, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 8, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 9, 10, 11, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 12, 13, 
   0, 
  83|128,1, 
   OPC_CheckChild1Integer, 30, 
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 31, 
    OPC_CheckPatternPredicate, 30,
    OPC_EmitInteger, MVT::i64, 30, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                  MVT::i64, 2, 2, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   31, 
    OPC_CheckPatternPredicate, 31,
    OPC_EmitInteger, MVT::i64, 30, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                  MVT::i64, 2, 2, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   57, 
    OPC_CheckPatternPredicate, 38,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 2, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 4, 
    OPC_EmitInteger, MVT::i32, 16, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 5, 6, 7, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 8, 9, 
   80, 
    OPC_CheckPatternPredicate, 37,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 3, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v4i32, 3, 2, 4, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 6, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 8, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 112, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 9, 10, 11, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 12, 13, 
   0, 
  60|128,2, 
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::i64,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 21, 
    OPC_CheckPatternPredicate, 30,
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBLX), 0,
                  MVT::i64, 2, 1, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 2, 3, 
   21, 
    OPC_CheckPatternPredicate, 31,
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUBRX), 0,
                  MVT::i64, 2, 1, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 2, 3, 
   127, 
    OPC_CheckPatternPredicate, 37,
    OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
    OPC_EmitInteger, MVT::i64, 16, 
    OPC_EmitNode2, TARGET_VAL(PPC::ANDI8_rec), 0,
                  MVT::i64, MVT::i32, 2, 1, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::LVSL), 0,
                  MVT::v16i8, 2, 2, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::VPERM), 0,
                  MVT::v16i8, 3, 0, 0, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 7, 8, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 9, 10, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 11, 
    OPC_EmitInteger, MVT::i64, 14, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 13, 
    OPC_EmitNode1, TARGET_VAL(PPC::ANDC8), 0,
                  MVT::i64, 2, 14, 1, 
    OPC_EmitInteger, MVT::i32, 6, 
    OPC_EmitInteger, MVT::i32, 120, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                  MVT::i64, 3, 15, 16, 17, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 18, 19, 
    OPC_EmitNode1, TARGET_VAL(PPC::SRD), 0,
                  MVT::i64, 2, 12, 20, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 21, 22, 
   5|128,1, 
    OPC_CheckPatternPredicate, 38,
    OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
    OPC_EmitInteger, MVT::i64, 16, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::ANDC8), 0,
                  MVT::i64, 2, 4, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::LVSL), 0,
                  MVT::v16i8, 2, 2, 5, 
    OPC_EmitNode1, TARGET_VAL(PPC::VPERM), 0,
                  MVT::v16i8, 3, 0, 0, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 7, 8, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 9, 10, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 11, 
    OPC_EmitInteger, MVT::i64, 14, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 13, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                  MVT::i64, 2, 14, 1, 
    OPC_EmitInteger, MVT::i32, 6, 
    OPC_EmitInteger, MVT::i32, 120, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                  MVT::i64, 3, 15, 16, 17, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 18, 19, 
    OPC_EmitNode1, TARGET_VAL(PPC::SRD), 0,
                  MVT::i64, 2, 12, 20, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 21, 22, 
   0, 
  1|128,3, 
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::i64,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 40, 
    OPC_CheckPatternPredicate, 30,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 56, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                  MVT::i64, 4, 1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHLX), 0,
                  MVT::i64, 2, 5, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 6, 7, 
   40, 
    OPC_CheckPatternPredicate, 31,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 56, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                  MVT::i64, 4, 1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUHRX), 0,
                  MVT::i64, 2, 5, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 6, 7, 
   14|128,1, 
    OPC_CheckPatternPredicate, 37,
    OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
    OPC_EmitInteger, MVT::i64, 8, 
    OPC_EmitNode2, TARGET_VAL(PPC::ANDI8_rec), 0,
                  MVT::i64, MVT::i32, 2, 1, 3, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 124, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                  MVT::i64, 3, 4, 6, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::LVSL), 0,
                  MVT::v16i8, 2, 2, 8, 
    OPC_EmitNode1, TARGET_VAL(PPC::VPERM), 0,
                  MVT::v16i8, 3, 0, 0, 9, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 10, 11, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 12, 13, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 14, 
    OPC_EmitInteger, MVT::i64, 6, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 16, 
    OPC_EmitNode1, TARGET_VAL(PPC::ANDC8), 0,
                  MVT::i64, 2, 17, 1, 
    OPC_EmitInteger, MVT::i32, 8, 
    OPC_EmitInteger, MVT::i32, 118, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                  MVT::i64, 3, 18, 19, 20, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 21, 22, 
    OPC_EmitNode1, TARGET_VAL(PPC::SRD), 0,
                  MVT::i64, 2, 15, 23, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 24, 25, 
   20|128,1, 
    OPC_CheckPatternPredicate, 38,
    OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
    OPC_EmitInteger, MVT::i64, 8, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::ANDC8), 0,
                  MVT::i64, 2, 4, 1, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 124, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                  MVT::i64, 3, 5, 6, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::LVSL), 0,
                  MVT::v16i8, 2, 2, 8, 
    OPC_EmitNode1, TARGET_VAL(PPC::VPERM), 0,
                  MVT::v16i8, 3, 0, 0, 9, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 10, 11, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 12, 13, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 14, 
    OPC_EmitInteger, MVT::i64, 6, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 16, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                  MVT::i64, 2, 17, 1, 
    OPC_EmitInteger, MVT::i32, 8, 
    OPC_EmitInteger, MVT::i32, 118, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                  MVT::i64, 3, 18, 19, 20, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 21, 22, 
    OPC_EmitNode1, TARGET_VAL(PPC::SRD), 0,
                  MVT::i64, 2, 15, 23, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 24, 25, 
   0, 
  1|128,3, 
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::i64,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 40, 
    OPC_CheckPatternPredicate, 30,
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 56, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                  MVT::i64, 4, 1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUWLX), 0,
                  MVT::i64, 2, 5, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 6, 7, 
   40, 
    OPC_CheckPatternPredicate, 31,
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 56, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                  MVT::i64, 4, 1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::VEXTUWRX), 0,
                  MVT::i64, 2, 5, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 6, 7, 
   14|128,1, 
    OPC_CheckPatternPredicate, 37,
    OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
    OPC_EmitInteger, MVT::i64, 4, 
    OPC_EmitNode2, TARGET_VAL(PPC::ANDI8_rec), 0,
                  MVT::i64, MVT::i32, 2, 1, 3, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 122, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                  MVT::i64, 3, 4, 6, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::LVSL), 0,
                  MVT::v16i8, 2, 2, 8, 
    OPC_EmitNode1, TARGET_VAL(PPC::VPERM), 0,
                  MVT::v16i8, 3, 0, 0, 9, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 10, 11, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 12, 13, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 14, 
    OPC_EmitInteger, MVT::i64, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 16, 
    OPC_EmitNode1, TARGET_VAL(PPC::ANDC8), 0,
                  MVT::i64, 2, 17, 1, 
    OPC_EmitInteger, MVT::i32, 10, 
    OPC_EmitInteger, MVT::i32, 116, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                  MVT::i64, 3, 18, 19, 20, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 21, 22, 
    OPC_EmitNode1, TARGET_VAL(PPC::SRD), 0,
                  MVT::i64, 2, 15, 23, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 24, 25, 
   20|128,1, 
    OPC_CheckPatternPredicate, 38,
    OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
    OPC_EmitInteger, MVT::i64, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::ANDC8), 0,
                  MVT::i64, 2, 4, 1, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 122, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                  MVT::i64, 3, 5, 6, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::LVSL), 0,
                  MVT::v16i8, 2, 2, 8, 
    OPC_EmitNode1, TARGET_VAL(PPC::VPERM), 0,
                  MVT::v16i8, 3, 0, 0, 9, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 10, 11, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 12, 13, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 14, 
    OPC_EmitInteger, MVT::i64, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 16, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                  MVT::i64, 2, 17, 1, 
    OPC_EmitInteger, MVT::i32, 10, 
    OPC_EmitInteger, MVT::i32, 116, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                  MVT::i64, 3, 18, 19, 20, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 21, 22, 
    OPC_EmitNode1, TARGET_VAL(PPC::SRD), 0,
                  MVT::i64, 2, 15, 23, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 24, 25, 
   0, 
  47|128,1, 
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::i64,
   OPC_CheckType, MVT::i64,
   OPC_Scope, 79, 
    OPC_CheckPatternPredicate, 36,
    OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
    OPC_EmitInteger, MVT::i64, 2, 
    OPC_EmitNode2, TARGET_VAL(PPC::ANDI8_rec), 0,
                  MVT::i64, MVT::i32, 2, 1, 3, 
    OPC_EmitInteger, MVT::i32, 6, 
    OPC_EmitInteger, MVT::i32, 120, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                  MVT::i64, 3, 4, 6, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::LVSL), 0,
                  MVT::v16i8, 2, 2, 8, 
    OPC_EmitNode1, TARGET_VAL(PPC::VPERM), 0,
                  MVT::v16i8, 3, 0, 0, 9, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 10, 11, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 12, 13, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 14, 
   85, 
    OPC_CheckPatternPredicate, 35,
    OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
    OPC_EmitInteger, MVT::i64, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::ANDC8), 0,
                  MVT::i64, 2, 4, 1, 
    OPC_EmitInteger, MVT::i32, 6, 
    OPC_EmitInteger, MVT::i32, 120, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                  MVT::i64, 3, 5, 6, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::LVSL), 0,
                  MVT::v16i8, 2, 2, 8, 
    OPC_EmitNode1, TARGET_VAL(PPC::VPERM), 0,
                  MVT::v16i8, 3, 0, 0, 9, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 10, 11, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 12, 13, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 14, 
   0, 
  86, 
   OPC_CheckChild1Integer, 0, 
   OPC_SwitchType , 42, MVT::f64,
    OPC_Scope, 13, 
     OPC_CheckPatternPredicate, 40,
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 0, 1, 
    25, 
     OPC_CheckPatternPredicate, 28,
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v4i32, 3, 0, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
    0, 
   36, MVT::f32,
    OPC_CheckChild0Type, MVT::v4f32,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 41,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                   MVT::f32, 1, 0, 
    21, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4i32, 3, 0, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                   MVT::f32, 1, 2, 
    0, 
   0,
  98, 
   OPC_CheckChild1Integer, 2, 
   OPC_SwitchType , 42, MVT::f64,
    OPC_Scope, 13, 
     OPC_CheckPatternPredicate, 28,
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 0, 1, 
    25, 
     OPC_CheckPatternPredicate, 40,
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v4i32, 3, 0, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
    0, 
   48, MVT::f32,
    OPC_CheckChild0Type, MVT::v4f32,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 41,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4i32, 3, 0, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                   MVT::f32, 1, 2, 
    21, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v4i32, 3, 0, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                   MVT::f32, 1, 2, 
    0, 
   0,
  40, 
   OPC_CheckChild1Integer, 6, 
   OPC_CheckChild0Type, MVT::v4f32,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 2,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                  MVT::f32, 1, 0, 
   21, 
    OPC_CheckPatternPredicate, 41,
    OPC_EmitInteger, MVT::i32, 6, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                  MVT::v4i32, 3, 0, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                  MVT::f32, 1, 2, 
   0, 
  52, 
   OPC_CheckChild1Integer, 4, 
   OPC_CheckChild0Type, MVT::v4f32,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 21, 
    OPC_CheckPatternPredicate, 41,
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v4i32, 3, 0, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                  MVT::f32, 1, 2, 
   21, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                  MVT::v4i32, 3, 0, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                  MVT::f32, 1, 2, 
   0, 
  45|128,1, 
   OPC_CheckChild0Type, MVT::v4f32,
   OPC_RecordChild1,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 50, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitRegister, MVT::i32, PPC::ZERO,
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 1, 3, 4, 5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LVSL), 0,
                  MVT::v16i8, 2, 2, 6, 
    OPC_EmitNode1, TARGET_VAL(PPC::VPERM), 0,
                  MVT::v4i32, 3, 0, 0, 7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                  MVT::f32, 1, 8, 
   114, 
    OPC_CheckChild1Type, MVT::i64,
    OPC_Scope, 45, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitInteger, MVT::i32, 122, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                   MVT::i64, 3, 1, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::LVSL), 0,
                   MVT::v16i8, 2, 2, 5, 
     OPC_EmitNode1, TARGET_VAL(PPC::VPERM), 0,
                   MVT::v4i32, 3, 0, 0, 6, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                   MVT::f32, 1, 7, 
    63, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
     OPC_EmitInteger, MVT::i64, 6, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::XOR8), 0,
                   MVT::i64, 2, 4, 1, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitInteger, MVT::i32, 122, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                   MVT::i64, 3, 5, 6, 7, 
     OPC_EmitNode1, TARGET_VAL(PPC::LVSL), 0,
                   MVT::v16i8, 2, 2, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::VPERM), 0,
                   MVT::v4i32, 3, 0, 0, 9, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                   MVT::f32, 1, 10, 
    0, 
   0, 
  20|128,2, 
   OPC_CheckChild0Type, MVT::v2f64,
   OPC_RecordChild1,
   OPC_CheckType, MVT::f64,
   OPC_Scope, 50|128,1, 
    OPC_CheckChild1Type, MVT::i64,
    OPC_Scope, 83, 
     OPC_CheckPatternPredicate, 40,
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v16i8, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v16i8, 2, 0, 4, 
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode2, TARGET_VAL(PPC::ANDI8_rec), 0,
                   MVT::i64, MVT::i32, 2, 1, 7, 
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitInteger, MVT::i32, 120, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                   MVT::i64, 3, 8, 10, 11, 
     OPC_EmitNode1, TARGET_VAL(PPC::LVSL), 0,
                   MVT::v16i8, 2, 6, 12, 
     OPC_EmitNode1, TARGET_VAL(PPC::VPERM), 0,
                   MVT::v16i8, 3, 3, 5, 13, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 14, 15, 
    89, 
     OPC_CheckPatternPredicate, 28,
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v16i8, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v16i8, 2, 0, 4, 
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LI8), 0,
                   MVT::i64, 1, 7, 
     OPC_EmitNode1, TARGET_VAL(PPC::ANDC8), 0,
                   MVT::i64, 2, 8, 1, 
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitInteger, MVT::i32, 120, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                   MVT::i64, 3, 9, 10, 11, 
     OPC_EmitNode1, TARGET_VAL(PPC::LVSL), 0,
                   MVT::v16i8, 2, 6, 12, 
     OPC_EmitNode1, TARGET_VAL(PPC::VPERM), 0,
                   MVT::v16i8, 3, 3, 5, 13, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 14, 15, 
    0, 
   88, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v16i8, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v16i8, 2, 0, 4, 
    OPC_EmitRegister, MVT::i32, PPC::ZERO,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitNode2, TARGET_VAL(PPC::ANDI_rec), 0,
                  MVT::i32, MVT::i32, 2, 1, 7, 
    OPC_EmitInteger, MVT::i32, 6, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 56, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 8, 10, 11, 12, 
    OPC_EmitNode1, TARGET_VAL(PPC::LVSL), 0,
                  MVT::v16i8, 2, 6, 13, 
    OPC_EmitNode1, TARGET_VAL(PPC::VPERM), 0,
                  MVT::v16i8, 3, 3, 5, 14, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 15, 16, 
   0, 
  0, 
 53|128,91, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
  OPC_Scope, 26, 
   OPC_CheckChild0Integer, 50|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitNode1, TARGET_VAL(PPC::XVTDIVDP), 0,
                 MVT::i32, 2, 0, 1, 
   OPC_EmitStringInteger, MVT::i32, PPC::GPRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::i32, 2, 2, 3, 
  26, 
   OPC_CheckChild0Integer, 52|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitNode1, TARGET_VAL(PPC::XVTDIVSP), 0,
                 MVT::i32, 2, 0, 1, 
   OPC_EmitStringInteger, MVT::i32, PPC::GPRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::i32, 2, 2, 3, 
  24, 
   OPC_CheckChild0Integer, 56|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitNode1, TARGET_VAL(PPC::XVTSQRTDP), 0,
                 MVT::i32, 1, 0, 
   OPC_EmitStringInteger, MVT::i32, PPC::GPRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::i32, 2, 1, 2, 
  24, 
   OPC_CheckChild0Integer, 58|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitNode1, TARGET_VAL(PPC::XVTSQRTSP), 0,
                 MVT::i32, 1, 0, 
   OPC_EmitStringInteger, MVT::i32, PPC::GPRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::i32, 2, 1, 2, 
  24, 
   OPC_CheckChild0Integer, 106|128,116, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 0, 1, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSXSIGDP), 0,
                 MVT::i64, 1, 2, 
  35, 
   OPC_CheckChild0Integer, 104|128,116, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 0, 1, 
   OPC_EmitNode1, TARGET_VAL(PPC::XSXEXPDP), 0,
                 MVT::i64, 1, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                 MVT::i32, 2, 3, 4, 
  31, 
   OPC_CheckChild0Integer, 106|128,118, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitNode1, TARGET_VAL(PPC::XSXEXPQP), 0,
                 MVT::v2i64, 1, 0, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                 MVT::f64, 2, 1, 2, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                 MVT::i64, 1, 3, 
  74, 
   OPC_CheckChild0Integer, 54|128,120, 
   OPC_RecordChild1,
   OPC_Scope, 33, 
    OPC_CheckChild2Integer, 2, 
    OPC_CheckPatternPredicate, 22,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::XVTLSBB), 0,
                  MVT::i32, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   33, 
    OPC_CheckChild2Integer, 0, 
    OPC_CheckPatternPredicate, 22,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::XVTLSBB), 0,
                  MVT::i32, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 3, 4, 
   0, 
  20, 
   OPC_CheckChild0Integer, 2|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCNTMBB), 0,
                 MVT::i64, 2, 0, 1, 
  20, 
   OPC_CheckChild0Integer, 6|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCNTMBH), 0,
                 MVT::i64, 2, 0, 1, 
  20, 
   OPC_CheckChild0Integer, 8|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCNTMBW), 0,
                 MVT::i64, 2, 0, 1, 
  20, 
   OPC_CheckChild0Integer, 4|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCNTMBD), 0,
                 MVT::i64, 2, 0, 1, 
  20, 
   OPC_CheckChild0Integer, 82|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VGNB), 0,
                 MVT::i64, 2, 0, 1, 
  28, 
   OPC_CheckChild0Integer, 102|128,118, 
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::i32,
    OPC_CheckChild1Type, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::POPCNTB), 0,
                  MVT::i32, 1, 0, 
   9, MVT::i64,
    OPC_CheckChild1Type, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::POPCNTB8), 0,
                  MVT::i64, 1, 0, 
   0,
  15, 
   OPC_CheckChild0Integer, 98|128,116, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 42,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::DIVWE), 0,
                 MVT::i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 100|128,116, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 42,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::DIVWEU), 0,
                 MVT::i32, 2, 0, 1, 
  13, 
   OPC_CheckChild0Integer, 28|128,112, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCLZLSBB), 0,
                 MVT::i32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 16|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCTZLSBB), 0,
                 MVT::i32, 1, 0, 
  15, 
   OPC_CheckChild0Integer, 24|128,116, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 44,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BPERMD), 0,
                 MVT::i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 92|128,116, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 42,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::DIVDE), 0,
                 MVT::i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 94|128,116, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 42,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::DIVDEU), 0,
                 MVT::i64, 2, 0, 1, 
  17, 
   OPC_CheckChild0Integer, 52|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 45,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MADDHD), 0,
                 MVT::i64, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 54|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 45,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MADDHDU), 0,
                 MVT::i64, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 56|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 45,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MADDLD8), 0,
                 MVT::i64, 3, 0, 1, 2, 
  15, 
   OPC_CheckChild0Integer, 88|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MULHD), 0,
                 MVT::i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 90|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MULHDU), 0,
                 MVT::i64, 2, 0, 1, 
  36, 
   OPC_CheckChild0Integer, 30|128,116, 
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::i64,
    OPC_CheckChild1Type, MVT::i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CMPB8), 0,
                  MVT::i64, 2, 0, 1, 
   13, MVT::i32,
    OPC_CheckChild1Type, MVT::i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CMPB), 0,
                  MVT::i32, 2, 0, 1, 
   0,
  13, 
   OPC_CheckChild0Integer, 58|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTRACTBM), 0,
                 MVT::i32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 62|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTRACTHM), 0,
                 MVT::i32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 66|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTRACTWM), 0,
                 MVT::i32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 60|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTRACTDM), 0,
                 MVT::i32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 64|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTRACTQM), 0,
                 MVT::i32, 1, 0, 
  15, 
   OPC_CheckChild0Integer, 98|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::PDEPD), 0,
                 MVT::i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 100|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::PEXTD), 0,
                 MVT::i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 28|128,116, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::CFUGED), 0,
                 MVT::i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 38|128,116, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::CNTLZDM), 0,
                 MVT::i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 40|128,116, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::CNTTZDM), 0,
                 MVT::i64, 2, 0, 1, 
  13, 
   OPC_CheckChild0Integer, 92|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MULHW), 0,
                 MVT::i32, 2, 0, 1, 
  13, 
   OPC_CheckChild0Integer, 94|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MULHWU), 0,
                 MVT::i32, 2, 0, 1, 
  9, 
   OPC_CheckChild0Integer, 64|128,117, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFMSR), 0,
                 MVT::i32, 0, 
  14, 
   OPC_CheckChild0Integer, 68|128,117, 
   OPC_EmitInteger, MVT::i32, 26|128,4, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFTB), 0,
                 MVT::i32, 1, 0, 
  22, 
   OPC_CheckChild0Integer, 32|128,116, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 45,
   OPC_EmitNode1, TARGET_VAL(PPC::CMPEQB), 0,
                 MVT::i32, 2, 0, 1, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::SETB8), 0,
                 MVT::i64, 1, 2, 
  22, 
   OPC_CheckChild0Integer, 118|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 45,
   OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                 MVT::i32, 2, 0, 1, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::SETB8), 0,
                 MVT::i64, 1, 2, 
  24, 
   OPC_CheckChild0Integer, 34|128,116, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 46,
   OPC_EmitNode1, TARGET_VAL(PPC::CMPRB), 0,
                 MVT::i32, 3, 0, 1, 2, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::SETB), 0,
                 MVT::i32, 1, 3, 
  38, 
   OPC_CheckChild0Integer, 124|128,116, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 17, 
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMSUBQPO), 0,
                  MVT::f128, 3, 2, 0, 1, 
   12, 
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMADDQPO), 0,
                  MVT::f128, 3, 2, 0, 1, 
   0, 
  15, 
   OPC_CheckChild0Integer, 94|128,119, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMAXDP), 0,
                 MVT::f64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 96|128,119, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMINDP), 0,
                 MVT::f64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 24|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSADDQPO), 0,
                 MVT::f128, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 86|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMULQPO), 0,
                 MVT::f128, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 14|128,119, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSSUBQPO), 0,
                 MVT::f128, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 96|128,116, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSDIVQPO), 0,
                 MVT::f128, 2, 0, 1, 
  13, 
   OPC_CheckChild0Integer, 124|128,118, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSSQRTQPO), 0,
                 MVT::f128, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 50|128,119, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVQPDPO), 0,
                 MVT::f64, 1, 0, 
  30, 
   OPC_CheckChild0Integer, 126|128,116, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMSUBMDP), 0,
                  MVT::f64, 3, 0, 1, 2, 
   9, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FMSUB), 0,
                  MVT::f64, 3, 0, 1, 2, 
   0, 
  30, 
   OPC_CheckChild0Integer, 6|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMADDMDP), 0,
                  MVT::f64, 3, 0, 1, 2, 
   9, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FNMADD), 0,
                  MVT::f64, 3, 0, 1, 2, 
   0, 
  24, 
   OPC_CheckChild0Integer, 12|128,117, 
   OPC_RecordChild1,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSREDP), 0,
                  MVT::f64, 1, 0, 
   7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRE), 0,
                  MVT::f64, 1, 0, 
   0, 
  24, 
   OPC_CheckChild0Integer, 16|128,117, 
   OPC_RecordChild1,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRSQRTEDP), 0,
                  MVT::f64, 1, 0, 
   7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRSQRTE), 0,
                  MVT::f64, 1, 0, 
   0, 
  24, 
   OPC_CheckChild0Integer, 2|128,117, 
   OPC_RecordChild1,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNABSDP), 0,
                  MVT::f64, 1, 0, 
   7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FNABSD), 0,
                  MVT::f64, 1, 0, 
   0, 
  24, 
   OPC_CheckChild0Integer, 4|128,117, 
   OPC_RecordChild1,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNABSDPs), 0,
                  MVT::f32, 1, 0, 
   7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FNABSS), 0,
                  MVT::f32, 1, 0, 
   0, 
  30, 
   OPC_CheckChild0Integer, 0|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMSUBMSP), 0,
                  MVT::f32, 3, 0, 1, 2, 
   9, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FMSUBS), 0,
                  MVT::f32, 3, 0, 1, 2, 
   0, 
  30, 
   OPC_CheckChild0Integer, 8|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMADDMSP), 0,
                  MVT::f32, 3, 0, 1, 2, 
   9, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FNMADDS), 0,
                  MVT::f32, 3, 0, 1, 2, 
   0, 
  24, 
   OPC_CheckChild0Integer, 14|128,117, 
   OPC_RecordChild1,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRESP), 0,
                  MVT::f32, 1, 0, 
   7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRES), 0,
                  MVT::f32, 1, 0, 
   0, 
  24, 
   OPC_CheckChild0Integer, 18|128,117, 
   OPC_RecordChild1,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRSQRTESP), 0,
                  MVT::f32, 1, 0, 
   7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRSQRTES), 0,
                  MVT::f32, 1, 0, 
   0, 
  22, 
   OPC_CheckChild0Integer, 108|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                 MVT::f64, 1, 1, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSIEXPQP), 0,
                 MVT::f128, 2, 0, 2, 
  37, 
   OPC_CheckChild0Integer, 34|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitStringInteger, MVT::i32, PPC::G8RCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::i64, 2, 0, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::XSIEXPDP), 0,
                 MVT::v4i32, 2, 3, 1, 
   OPC_EmitStringInteger, MVT::i32, PPC::F8RCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 4, 5, 
  15, 
   OPC_CheckChild0Integer, 20|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::FSELD), 0,
                 MVT::f64, 3, 0, 1, 2, 
  11, 
   OPC_CheckChild0Integer, 108|128,116, 
   OPC_RecordChild1,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                 MVT::f64, 1, 0, 
  11, 
   OPC_CheckChild0Integer, 110|128,116, 
   OPC_RecordChild1,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                 MVT::f64, 1, 0, 
  11, 
   OPC_CheckChild0Integer, 112|128,116, 
   OPC_RecordChild1,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::FCTID), 0,
                 MVT::f64, 1, 0, 
  11, 
   OPC_CheckChild0Integer, 114|128,116, 
   OPC_RecordChild1,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPSXDS), 0,
                 MVT::f64, 1, 0, 
  11, 
   OPC_CheckChild0Integer, 116|128,116, 
   OPC_RecordChild1,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::FCTIW), 0,
                 MVT::f64, 1, 0, 
  11, 
   OPC_CheckChild0Integer, 118|128,116, 
   OPC_RecordChild1,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPSXWS), 0,
                 MVT::f64, 1, 0, 
  11, 
   OPC_CheckChild0Integer, 120|128,116, 
   OPC_RecordChild1,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPUXDS), 0,
                 MVT::f64, 1, 0, 
  11, 
   OPC_CheckChild0Integer, 122|128,116, 
   OPC_RecordChild1,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPUXWS), 0,
                 MVT::f64, 1, 0, 
  20, 
   OPC_CheckChild0Integer, 62|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVTSTDCSP), 0,
                 MVT::v4i32, 2, 1, 0, 
  20, 
   OPC_CheckChild0Integer, 60|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVTSTDCDP), 0,
                 MVT::v2i64, 2, 1, 0, 
  24, 
   OPC_CheckChild0Integer, 92|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitConvertToTarget, 2,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                 MVT::v4i32, 3, 0, 1, 3, 
  33, 
   OPC_CheckChild0Integer, 82|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                 MVT::f64, 2, 0, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v2i64, 2, 3, 4, 
  15, 
   OPC_CheckChild0Integer, 98|128,119, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCMPEQDP), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 102|128,119, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCMPEQSP), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 106|128,119, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCMPGEDP), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 110|128,119, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCMPGESP), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 114|128,119, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCMPGTDP), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 118|128,119, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCMPGTSP), 0,
                 MVT::v4i32, 2, 0, 1, 
  13, 
   OPC_CheckChild0Integer, 126|128,119, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVDPSXWS), 0,
                 MVT::v4i32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 0|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVDPUXWS), 0,
                 MVT::v4i32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 10|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPSXDS), 0,
                 MVT::v2i64, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 12|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPUXDS), 0,
                 MVT::v2i64, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 64|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVXEXPDP), 0,
                 MVT::v2i64, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 66|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVXEXPSP), 0,
                 MVT::v4i32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 68|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVXSIGDP), 0,
                 MVT::v2i64, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 70|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVXSIGSP), 0,
                 MVT::v4i32, 1, 0, 
  15, 
   OPC_CheckChild0Integer, 94|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLEQV), 0,
                 MVT::v4i32, 2, 0, 1, 
  115, 
   OPC_CheckChild0Integer, 0|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_Scope, 41, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 7, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI4GER8), 0,
                  MVT::v512i1, 5, 6, 8, 9, 10, 11, 
   41, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 7, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI4GER8W), 0,
                  MVT::v512i1, 5, 6, 8, 9, 10, 11, 
   0, 
  118, 
   OPC_CheckChild0Integer, 2|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_Scope, 42, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI4GER8PP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   42, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI4GER8WPP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   0, 
  115, 
   OPC_CheckChild0Integer, 4|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_Scope, 41, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 7, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI8GER4), 0,
                  MVT::v512i1, 5, 6, 8, 9, 10, 11, 
   41, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 7, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI8GER4W), 0,
                  MVT::v512i1, 5, 6, 8, 9, 10, 11, 
   0, 
  118, 
   OPC_CheckChild0Integer, 6|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_Scope, 42, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI8GER4PP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   42, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI8GER4WPP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   0, 
  115, 
   OPC_CheckChild0Integer, 124|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 41, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 7, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI16GER2S), 0,
                  MVT::v512i1, 5, 6, 8, 9, 10, 11, 
   41, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 7, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI16GER2SW), 0,
                  MVT::v512i1, 5, 6, 8, 9, 10, 11, 
   0, 
  118, 
   OPC_CheckChild0Integer, 126|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 42, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI16GER2SPP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   42, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI16GER2SWPP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   0, 
  115, 
   OPC_CheckChild0Integer, 90|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 41, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 7, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF16GER2), 0,
                  MVT::v512i1, 5, 6, 8, 9, 10, 11, 
   41, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 7, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF16GER2W), 0,
                  MVT::v512i1, 5, 6, 8, 9, 10, 11, 
   0, 
  118, 
   OPC_CheckChild0Integer, 98|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 42, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF16GER2PP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   42, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF16GER2WPP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   0, 
  118, 
   OPC_CheckChild0Integer, 96|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 42, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF16GER2PN), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   42, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF16GER2WPN), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   0, 
  118, 
   OPC_CheckChild0Integer, 94|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 42, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF16GER2NP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   42, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF16GER2WNP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   0, 
  118, 
   OPC_CheckChild0Integer, 92|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 42, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF16GER2NN), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   42, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF16GER2WNN), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   0, 
  115, 
   OPC_CheckChild0Integer, 80|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 41, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 7, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVBF16GER2), 0,
                  MVT::v512i1, 5, 6, 8, 9, 10, 11, 
   41, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 7, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVBF16GER2W), 0,
                  MVT::v512i1, 5, 6, 8, 9, 10, 11, 
   0, 
  118, 
   OPC_CheckChild0Integer, 88|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 42, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVBF16GER2PP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   42, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVBF16GER2WPP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   0, 
  118, 
   OPC_CheckChild0Integer, 86|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 42, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVBF16GER2PN), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   42, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVBF16GER2WPN), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   0, 
  118, 
   OPC_CheckChild0Integer, 84|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 42, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVBF16GER2NP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   42, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVBF16GER2WNP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   0, 
  118, 
   OPC_CheckChild0Integer, 82|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 42, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVBF16GER2NN), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   42, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVBF16GER2WNN), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   0, 
  115, 
   OPC_CheckChild0Integer, 120|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 41, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 7, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI16GER2), 0,
                  MVT::v512i1, 5, 6, 8, 9, 10, 11, 
   41, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 7, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI16GER2W), 0,
                  MVT::v512i1, 5, 6, 8, 9, 10, 11, 
   0, 
  118, 
   OPC_CheckChild0Integer, 8|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 42, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI8GER4SPP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   42, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI8GER4WSPP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   0, 
  118, 
   OPC_CheckChild0Integer, 122|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 42, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI16GER2PP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   42, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 8, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitConvertToTarget, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVI16GER2WPP), 0,
                  MVT::v512i1, 6, 0, 7, 9, 10, 11, 12, 
   0, 
  17, 
   OPC_CheckChild0Integer, 70|128,111, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 16,
   OPC_CheckComplexPat, /*CP*/0, /*#*/0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LVSL), 0,
                 MVT::v16i8, 2, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 72|128,111, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 16,
   OPC_CheckComplexPat, /*CP*/0, /*#*/0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LVSR), 0,
                 MVT::v16i8, 2, 1, 2, 
  79, 
   OPC_CheckChild0Integer, 110|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 27, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitConvertToTarget, 3,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF64GER), 0,
                  MVT::v512i1, 4, 0, 5, 6, 7, 
   27, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitConvertToTarget, 3,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF64GERW), 0,
                  MVT::v512i1, 4, 0, 5, 6, 7, 
   0, 
  82, 
   OPC_CheckChild0Integer, 118|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 28, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF64GERPP), 0,
                  MVT::v512i1, 5, 0, 1, 6, 7, 8, 
   28, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF64GERWPP), 0,
                  MVT::v512i1, 5, 0, 1, 6, 7, 8, 
   0, 
  82, 
   OPC_CheckChild0Integer, 116|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 28, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF64GERPN), 0,
                  MVT::v512i1, 5, 0, 1, 6, 7, 8, 
   28, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF64GERWPN), 0,
                  MVT::v512i1, 5, 0, 1, 6, 7, 8, 
   0, 
  82, 
   OPC_CheckChild0Integer, 114|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 28, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF64GERNP), 0,
                  MVT::v512i1, 5, 0, 1, 6, 7, 8, 
   28, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF64GERWNP), 0,
                  MVT::v512i1, 5, 0, 1, 6, 7, 8, 
   0, 
  82, 
   OPC_CheckChild0Integer, 112|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 18,
   OPC_MoveParent,
   OPC_Scope, 28, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF64GERNN), 0,
                  MVT::v512i1, 5, 0, 1, 6, 7, 8, 
   28, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF64GERWNN), 0,
                  MVT::v512i1, 5, 0, 1, 6, 7, 8, 
   0, 
  101, 
   OPC_CheckChild0Integer, 100|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_Scope, 38, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 4, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitConvertToTarget, 3,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF32GER), 0,
                  MVT::v512i1, 4, 5, 7, 8, 9, 
   38, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 4, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 6, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitConvertToTarget, 3,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF32GERW), 0,
                  MVT::v512i1, 4, 5, 7, 8, 9, 
   0, 
  104, 
   OPC_CheckChild0Integer, 108|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_Scope, 39, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 7, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF32GERPP), 0,
                  MVT::v512i1, 5, 0, 6, 8, 9, 10, 
   39, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 7, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF32GERWPP), 0,
                  MVT::v512i1, 5, 0, 6, 8, 9, 10, 
   0, 
  104, 
   OPC_CheckChild0Integer, 106|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_Scope, 39, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 7, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF32GERPN), 0,
                  MVT::v512i1, 5, 0, 6, 8, 9, 10, 
   39, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 7, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF32GERWPN), 0,
                  MVT::v512i1, 5, 0, 6, 8, 9, 10, 
   0, 
  104, 
   OPC_CheckChild0Integer, 104|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_Scope, 39, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 7, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF32GERNP), 0,
                  MVT::v512i1, 5, 0, 6, 8, 9, 10, 
   39, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 7, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF32GERWNP), 0,
                  MVT::v512i1, 5, 0, 6, 8, 9, 10, 
   0, 
  104, 
   OPC_CheckChild0Integer, 102|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_Scope, 39, 
    OPC_CheckPatternPredicate, 47,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 7, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF32GERNN), 0,
                  MVT::v512i1, 5, 0, 6, 8, 9, 10, 
   39, 
    OPC_CheckPatternPredicate, 48,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 7, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PMXVF32GERWNN), 0,
                  MVT::v512i1, 5, 0, 6, 8, 9, 10, 
   0, 
  27, 
   OPC_CheckChild0Integer, 50|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 49,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSHASIGMAW), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  27, 
   OPC_CheckChild0Integer, 48|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 49,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSHASIGMAD), 0,
                 MVT::v2i64, 3, 0, 1, 2, 
  35, 
   OPC_CheckChild0Integer, 12|128,113, 
   OPC_RecordChild1,
   OPC_Scope, 11, 
    OPC_CheckChild2Integer, 0, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCTUXS_0), 0,
                  MVT::v4i32, 1, 0, 
   16, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCTUXS), 0,
                  MVT::v4i32, 2, 1, 0, 
   0, 
  35, 
   OPC_CheckChild0Integer, 10|128,113, 
   OPC_RecordChild1,
   OPC_Scope, 11, 
    OPC_CheckChild2Integer, 0, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCTSXS_0), 0,
                  MVT::v4i32, 1, 0, 
   16, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCTSXS), 0,
                  MVT::v4i32, 2, 1, 0, 
   0, 
  23, 
   OPC_CheckChild0Integer, 16|128,116, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::BCDADD_rec), 0,
                 MVT::v16i8, MVT::i32, 3, 0, 1, 2, 
  23, 
   OPC_CheckChild0Integer, 20|128,116, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::BCDSUB_rec), 0,
                 MVT::v16i8, MVT::i32, 3, 0, 1, 2, 
  22, 
   OPC_CheckChild0Integer, 34|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLDBI), 0,
                 MVT::v16i8, 3, 0, 1, 2, 
  22, 
   OPC_CheckChild0Integer, 54|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRDBI), 0,
                 MVT::v16i8, 3, 0, 1, 2, 
  22, 
   OPC_CheckChild0Integer, 106|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSW), 0,
                 MVT::v4i32, 3, 0, 2, 1, 
  22, 
   OPC_CheckChild0Integer, 92|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSD), 0,
                 MVT::v2i64, 3, 0, 2, 1, 
  33, 
   OPC_CheckChild0Integer, 82|128,111, 
   OPC_RecordChild1,
   OPC_Scope, 16, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget, 0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::MTVSRBMI), 0,
                  MVT::v16i8, 1, 1, 
   9, 
    OPC_CheckPatternPredicate, 22,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::MTVSRBM), 0,
                  MVT::v16i8, 1, 0, 
   0, 
  24, 
   OPC_CheckChild0Integer, 80|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                 MVT::v2i64, 4, 0, 1, 2, 3, 
  33, 
   OPC_CheckChild0Integer, 84|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNode1, TARGET_VAL(PPC::XXGENPCVBM), 0,
                 MVT::v4i32, 2, 0, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v16i8, 2, 3, 4, 
  33, 
   OPC_CheckChild0Integer, 88|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNode1, TARGET_VAL(PPC::XXGENPCVHM), 0,
                 MVT::v4i32, 2, 0, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v8i16, 2, 3, 4, 
  33, 
   OPC_CheckChild0Integer, 90|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNode1, TARGET_VAL(PPC::XXGENPCVWM), 0,
                 MVT::v4i32, 2, 0, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 3, 4, 
  33, 
   OPC_CheckChild0Integer, 86|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNode1, TARGET_VAL(PPC::XXGENPCVDM), 0,
                 MVT::v4i32, 2, 0, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v2i64, 2, 3, 4, 
  68, 
   OPC_CheckChild0Integer, 96|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 0, 4, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 1, 6, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 2, 8, 
   OPC_EmitNode1, TARGET_VAL(PPC::XXPERMX), 0,
                 MVT::v4i32, 4, 5, 7, 9, 3, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v16i8, 2, 10, 11, 
  17, 
   OPC_CheckChild0Integer, 32|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMLADDUHM), 0,
                 MVT::v8i16, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 94|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPERM), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 28|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSEL), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  15, 
   OPC_CheckChild0Integer, 110|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDCUW), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 116|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDSBS), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 118|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDSHS), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 120|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDSWS), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 122|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDUBS), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 124|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDUHS), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 126|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDUWS), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 0|128,112, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VAVGSB), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 2|128,112, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VAVGSH), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 4|128,112, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VAVGSW), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 6|128,112, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VAVGUB), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 8|128,112, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VAVGUH), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 10|128,112, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VAVGUW), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 122|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXSB), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 126|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXSH), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 0|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXSW), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 2|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXUB), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 6|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXUH), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 8|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXUW), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 16|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINSB), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 20|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINSH), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 22|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINSW), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 24|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINUB), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 28|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINUH), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 30|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINUW), 0,
                 MVT::v4i32, 2, 0, 1, 
  17, 
   OPC_CheckChild0Integer, 36|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMSUMMBM), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 38|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMSUMSHM), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 42|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMSUMUBM), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 46|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMSUMUHM), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  15, 
   OPC_CheckChild0Integer, 50|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULESB), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 54|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULESH), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 58|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULEUB), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 62|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULEUH), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 74|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULOSB), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 78|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULOSH), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 82|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULOUB), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 86|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULOUH), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 82|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBCUW), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 88|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBSBS), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 90|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBSHS), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 92|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBSWS), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 94|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBUBS), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 96|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBUHS), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 98|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBUWS), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 6|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRLB), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 14|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRLH), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 20|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRLW), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 30|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSL), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 38|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLO), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 32|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLB), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 36|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLH), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 42|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLW), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 44|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSR), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 58|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRO), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 46|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRAB), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 48|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRAH), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 50|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRAW), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 52|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRB), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 56|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRH), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 62|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRW), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 98|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKPX), 0,
                 MVT::v8i16, 2, 0, 1, 
  13, 
   OPC_CheckChild0Integer, 110|128,115, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VUPKHPX), 0,
                 MVT::v4i32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 112|128,115, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VUPKHSB), 0,
                 MVT::v8i16, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 114|128,115, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VUPKHSH), 0,
                 MVT::v4i32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 118|128,115, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VUPKLPX), 0,
                 MVT::v4i32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 120|128,115, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VUPKLSB), 0,
                 MVT::v8i16, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 122|128,115, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VUPKLSH), 0,
                 MVT::v4i32, 1, 0, 
  15, 
   OPC_CheckChild0Integer, 56|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULESW), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 64|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULEUW), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 80|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULOSW), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 88|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULOUW), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 124|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXSD), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 4|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXUD), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 18|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINSD), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 26|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINUD), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 8|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRLD), 0,
                 MVT::v2i64, 2, 0, 1, 
  17, 
   OPC_CheckChild0Integer, 114|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDEUQM), 0,
                 MVT::v1i128, 3, 0, 1, 2, 
  15, 
   OPC_CheckChild0Integer, 108|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDCUQ), 0,
                 MVT::v1i128, 2, 0, 1, 
  17, 
   OPC_CheckChild0Integer, 112|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDECUQ), 0,
                 MVT::v1i128, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 86|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBEUQM), 0,
                 MVT::v1i128, 3, 0, 1, 2, 
  15, 
   OPC_CheckChild0Integer, 80|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBCUQ), 0,
                 MVT::v1i128, 2, 0, 1, 
  17, 
   OPC_CheckChild0Integer, 84|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBECUQ), 0,
                 MVT::v1i128, 3, 0, 1, 2, 
  15, 
   OPC_CheckChild0Integer, 38|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPMSUMB), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 42|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPMSUMH), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 44|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPMSUMW), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 40|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPMSUMD), 0,
                 MVT::v2i64, 2, 0, 1, 
  13, 
   OPC_CheckChild0Integer, 116|128,115, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VUPKHSW), 0,
                 MVT::v2i64, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 124|128,115, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VUPKLSW), 0,
                 MVT::v2i64, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 80|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VGBBD), 0,
                 MVT::v16i8, 1, 0, 
  15, 
   OPC_CheckChild0Integer, 14|128,112, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VBPERMQ), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 26|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 49,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCIPHER), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 28|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 49,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCIPHERLAST), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 30|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 49,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VNCIPHER), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 32|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 49,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VNCIPHERLAST), 0,
                 MVT::v2i64, 2, 0, 1, 
  13, 
   OPC_CheckChild0Integer, 46|128,111, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 49,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSBOX), 0,
                 MVT::v2i64, 1, 0, 
  17, 
   OPC_CheckChild0Integer, 44|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMSUMUDM), 0,
                 MVT::v1i128, 3, 0, 1, 2, 
  13, 
   OPC_CheckChild0Integer, 70|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSB2W), 0,
                 MVT::v4i32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 76|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSH2W), 0,
                 MVT::v4i32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 68|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSB2D), 0,
                 MVT::v2i64, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 74|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSH2D), 0,
                 MVT::v2i64, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 78|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSW2D), 0,
                 MVT::v2i64, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 122|128,114, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPRTYBW), 0,
                 MVT::v4i32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 118|128,114, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPRTYBD), 0,
                 MVT::v2i64, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 120|128,114, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPRTYBQ), 0,
                 MVT::v1i128, 1, 0, 
  15, 
   OPC_CheckChild0Integer, 12|128,112, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VBPERMD), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 24|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRLWNM), 0,
                 MVT::v4i32, 2, 0, 1, 
  17, 
   OPC_CheckChild0Integer, 22|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRLWMI), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  15, 
   OPC_CheckChild0Integer, 12|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRLDNM), 0,
                 MVT::v2i64, 2, 0, 1, 
  17, 
   OPC_CheckChild0Integer, 10|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRLDMI), 0,
                 MVT::v2i64, 3, 0, 1, 2, 
  15, 
   OPC_CheckChild0Integer, 40|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLV), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 60|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRV), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 102|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VABSDUB), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 104|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VABSDUH), 0,
                 MVT::v8i16, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 106|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VABSDUW), 0,
                 MVT::v4i32, 2, 0, 1, 
  62, 
   OPC_CheckChild0Integer, 34|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VPERMXOR), 0,
                  MVT::v16i8, 3, 0, 1, 2, 
   41, 
    OPC_CheckPatternPredicate, 52,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXLNOR), 0,
                  MVT::v4i32, 2, 4, 6, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VPERMXOR), 0,
                  MVT::v16i8, 3, 0, 1, 7, 
   0, 
  17, 
   OPC_CheckChild0Integer, 36|128,111, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 53,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPERMXOR), 0,
                 MVT::v16i8, 3, 0, 1, 2, 
  13, 
   OPC_CheckChild0Integer, 68|128,115, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSTRIBR), 0,
                 MVT::v16i8, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 64|128,115, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSTRIBL), 0,
                 MVT::v16i8, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 76|128,115, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSTRIHR), 0,
                 MVT::v8i16, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 72|128,115, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSTRIHL), 0,
                 MVT::v8i16, 1, 0, 
  17, 
   OPC_CheckChild0Integer, 88|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSBVLX), 0,
                 MVT::v16i8, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 90|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSBVRX), 0,
                 MVT::v16i8, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 102|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSHVLX), 0,
                 MVT::v8i16, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 104|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSHVRX), 0,
                 MVT::v8i16, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 112|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSWVLX), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 114|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSWVRX), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 84|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSBLX), 0,
                 MVT::v16i8, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 86|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSBRX), 0,
                 MVT::v16i8, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 98|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSHLX), 0,
                 MVT::v8i16, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 100|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSHRX), 0,
                 MVT::v8i16, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 108|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSWLX), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 110|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSWRX), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 94|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSDLX), 0,
                 MVT::v2i64, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 96|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSDRX), 0,
                 MVT::v2i64, 3, 0, 1, 2, 
  13, 
   OPC_CheckChild0Integer, 30|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXPANDBM), 0,
                 MVT::v16i8, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 34|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXPANDHM), 0,
                 MVT::v8i16, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 38|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXPANDWM), 0,
                 MVT::v4i32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 32|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXPANDDM), 0,
                 MVT::v2i64, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 36|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXPANDQM), 0,
                 MVT::v1i128, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 86|128,111, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MTVSRHM), 0,
                 MVT::v8i16, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 90|128,111, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MTVSRWM), 0,
                 MVT::v4i32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 84|128,111, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MTVSRDM), 0,
                 MVT::v2i64, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 88|128,111, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MTVSRQM), 0,
                 MVT::v1i128, 1, 0, 
  17, 
   OPC_CheckChild0Integer, 46|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTDUBVLX), 0,
                 MVT::v2i64, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 48|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTDUBVRX), 0,
                 MVT::v2i64, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 50|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTDUHVLX), 0,
                 MVT::v2i64, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 52|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTDUHVRX), 0,
                 MVT::v2i64, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 54|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTDUWVLX), 0,
                 MVT::v2i64, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 56|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTDUWVRX), 0,
                 MVT::v2i64, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 42|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTDDVLX), 0,
                 MVT::v2i64, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 44|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTDDVRX), 0,
                 MVT::v2i64, 3, 0, 1, 2, 
  15, 
   OPC_CheckChild0Integer, 92|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPDEPD), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 96|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPEXTD), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 18|128,112, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCFUGED), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 26|128,112, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCLZDM), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 14|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCTZDM), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 22|128,112, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCLRLB), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 24|128,112, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCLRRB), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 22|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VDIVESW), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 28|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VDIVEUW), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 18|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VDIVESD), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 24|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VDIVEUD), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 52|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULESD), 0,
                 MVT::v1i128, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 60|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULEUD), 0,
                 MVT::v1i128, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 76|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULOSD), 0,
                 MVT::v1i128, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 84|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULOUD), 0,
                 MVT::v1i128, 2, 0, 1, 
  17, 
   OPC_CheckChild0Integer, 34|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMSUMCUD), 0,
                 MVT::v1i128, 3, 0, 1, 2, 
  15, 
   OPC_CheckChild0Integer, 20|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VDIVESQ), 0,
                 MVT::v1i128, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 26|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VDIVEUQ), 0,
                 MVT::v1i128, 2, 0, 1, 
  13, 
   OPC_CheckChild0Integer, 72|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSD2Q), 0,
                 MVT::v1i128, 1, 0, 
  15, 
   OPC_CheckChild0Integer, 18|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRLQNM), 0,
                 MVT::v1i128, 2, 0, 1, 
  17, 
   OPC_CheckChild0Integer, 16|128,115, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRLQMI), 0,
                 MVT::v1i128, 3, 0, 1, 2, 
  15, 
   OPC_CheckChild0Integer, 68|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULHSW), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 72|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULHUW), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 66|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULHSD), 0,
                 MVT::v2i64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 70|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULHUD), 0,
                 MVT::v2i64, 2, 0, 1, 
  17, 
   OPC_CheckChild0Integer, 78|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 10,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXBLENDVW), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 74|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 10,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXBLENDVD), 0,
                 MVT::v2i64, 3, 0, 1, 2, 
  13, 
   OPC_CheckChild0Integer, 68|128,118, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 54,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXMFACC), 0,
                 MVT::v512i1, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 70|128,118, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 54,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXMTACC), 0,
                 MVT::v512i1, 1, 0, 
  23, 
   OPC_CheckChild0Integer, 72|128,118, 
   OPC_Scope, 8, 
    OPC_CheckPatternPredicate, 54,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSETACCZ), 0,
                  MVT::v512i1, 0, 
   8, 
    OPC_CheckPatternPredicate, 55,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSETACCZW), 0,
                  MVT::v512i1, 0, 
   0, 
  51, 
   OPC_CheckChild0Integer, 40|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 21, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF64GER), 0,
                  MVT::v512i1, 2, 0, 3, 
   21, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF64GERW), 0,
                  MVT::v512i1, 2, 0, 3, 
   0, 
  54, 
   OPC_CheckChild0Integer, 48|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 22, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF64GERPP), 0,
                  MVT::v512i1, 3, 0, 1, 4, 
   22, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF64GERWPP), 0,
                  MVT::v512i1, 3, 0, 1, 4, 
   0, 
  54, 
   OPC_CheckChild0Integer, 46|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 22, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF64GERPN), 0,
                  MVT::v512i1, 3, 0, 1, 4, 
   22, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF64GERWPN), 0,
                  MVT::v512i1, 3, 0, 1, 4, 
   0, 
  54, 
   OPC_CheckChild0Integer, 44|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 22, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF64GERNP), 0,
                  MVT::v512i1, 3, 0, 1, 4, 
   22, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF64GERNP), 0,
                  MVT::v512i1, 3, 0, 1, 4, 
   0, 
  54, 
   OPC_CheckChild0Integer, 42|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 22, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF64GERNN), 0,
                  MVT::v512i1, 3, 0, 1, 4, 
   22, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF64GERWNN), 0,
                  MVT::v512i1, 3, 0, 1, 4, 
   0, 
  37, 
   OPC_CheckChild0Integer, 62|128,119, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v256i1, 0, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx1,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::v256i1, 3, 2, 1, 3, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx0,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::v256i1, 3, 4, 0, 5, 
  35, 
   OPC_CheckChild0Integer, 4|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 0, 1, 
   OPC_EmitNode1, TARGET_VAL(PPC::XVCVSPBF16), 0,
                 MVT::v4i32, 1, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v16i8, 2, 3, 4, 
  35, 
   OPC_CheckChild0Integer, 122|128,119, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 0, 1, 
   OPC_EmitNode1, TARGET_VAL(PPC::XVCVBF16SPN), 0,
                 MVT::v4i32, 1, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v16i8, 2, 3, 4, 
  73, 
   OPC_CheckChild0Integer, 58|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 32, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI4GER8), 0,
                  MVT::v512i1, 2, 3, 5, 
   32, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI4GER8W), 0,
                  MVT::v512i1, 2, 3, 5, 
   0, 
  76, 
   OPC_CheckChild0Integer, 60|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI4GER8PP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI4GER8WPP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  73, 
   OPC_CheckChild0Integer, 62|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 32, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI8GER4), 0,
                  MVT::v512i1, 2, 3, 5, 
   32, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI8GER4W), 0,
                  MVT::v512i1, 2, 3, 5, 
   0, 
  76, 
   OPC_CheckChild0Integer, 64|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI8GER4PP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI8GER4WPP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  73, 
   OPC_CheckChild0Integer, 54|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 32, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI16GER2S), 0,
                  MVT::v512i1, 2, 3, 5, 
   32, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI16GER2SW), 0,
                  MVT::v512i1, 2, 3, 5, 
   0, 
  76, 
   OPC_CheckChild0Integer, 56|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI16GER2SPP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI16GER2SWPP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  73, 
   OPC_CheckChild0Integer, 20|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 32, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF16GER2), 0,
                  MVT::v512i1, 2, 3, 5, 
   32, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF16GER2W), 0,
                  MVT::v512i1, 2, 3, 5, 
   0, 
  76, 
   OPC_CheckChild0Integer, 28|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF16GER2PP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF16GER2WPP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  76, 
   OPC_CheckChild0Integer, 26|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF16GER2PN), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF16GER2WPN), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  76, 
   OPC_CheckChild0Integer, 24|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF16GER2NP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF16GER2WNP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  76, 
   OPC_CheckChild0Integer, 22|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF16GER2NN), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF16GER2WNN), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  73, 
   OPC_CheckChild0Integer, 30|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 32, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF32GER), 0,
                  MVT::v512i1, 2, 3, 5, 
   32, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF32GERW), 0,
                  MVT::v512i1, 2, 3, 5, 
   0, 
  76, 
   OPC_CheckChild0Integer, 38|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF32GERPP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF32GERWPP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  76, 
   OPC_CheckChild0Integer, 36|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF32GERPN), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF32GERWPN), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  76, 
   OPC_CheckChild0Integer, 34|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF32GERNP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF32GERWNP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  76, 
   OPC_CheckChild0Integer, 32|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF32GERNN), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVF32GERWNN), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  73, 
   OPC_CheckChild0Integer, 10|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 32, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVBF16GER2), 0,
                  MVT::v512i1, 2, 3, 5, 
   32, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVBF16GER2W), 0,
                  MVT::v512i1, 2, 3, 5, 
   0, 
  76, 
   OPC_CheckChild0Integer, 18|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVBF16GER2PP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVBF16GER2WPP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  76, 
   OPC_CheckChild0Integer, 16|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVBF16GER2PN), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVBF16GER2WPN), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  76, 
   OPC_CheckChild0Integer, 14|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVBF16GER2NP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVBF16GER2WNP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  76, 
   OPC_CheckChild0Integer, 12|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVBF16GER2NN), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVBF16GER2WNN), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  73, 
   OPC_CheckChild0Integer, 50|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 32, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI16GER2), 0,
                  MVT::v512i1, 2, 3, 5, 
   32, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI16GER2W), 0,
                  MVT::v512i1, 2, 3, 5, 
   0, 
  76, 
   OPC_CheckChild0Integer, 52|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI16GER2PP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI16GER2WPP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  76, 
   OPC_CheckChild0Integer, 66|128,118, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 33, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI8GER4SPP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   33, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVI8GER4WSPP), 0,
                  MVT::v512i1, 3, 0, 4, 6, 
   0, 
  61, 
   OPC_CheckChild0Integer, 72|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 0, 3, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 1, 5, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 2, 7, 
   OPC_EmitNode1, TARGET_VAL(PPC::XXBLENDVB), 0,
                 MVT::v4i32, 3, 4, 6, 8, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v16i8, 2, 9, 10, 
  61, 
   OPC_CheckChild0Integer, 76|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 0, 3, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 1, 5, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 2, 7, 
   OPC_EmitNode1, TARGET_VAL(PPC::XXBLENDVH), 0,
                 MVT::v4i32, 3, 4, 6, 8, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v8i16, 2, 9, 10, 
  73|128,1, 
   OPC_CheckChild0Integer, 76|128,117, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_Scope, 70, 
    OPC_CheckPatternPredicate, 55,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v256i1, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx1,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                  MVT::v256i1, 3, 4, 1, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                  MVT::v256i1, 3, 6, 0, 7, 
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v256i1, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx1,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                  MVT::v256i1, 3, 9, 3, 10, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                  MVT::v256i1, 3, 11, 2, 12, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::DMXXINSTFDMR512), 0,
                  MVT::v512i1, 2, 8, 13, 
   120, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v512i1, 0, 
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v256i1, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx1,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                  MVT::v256i1, 3, 5, 1, 6, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                  MVT::v256i1, 3, 7, 0, 8, 
    OPC_EmitNode1, TARGET_VAL(PPC::KILL_PAIR), 0,
                  MVT::v256i1, 1, 9, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_pair0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                  MVT::v512i1, 3, 4, 10, 11, 
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v256i1, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx1,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                  MVT::v256i1, 3, 13, 3, 14, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                  MVT::v256i1, 3, 15, 2, 16, 
    OPC_EmitNode1, TARGET_VAL(PPC::KILL_PAIR), 0,
                  MVT::v256i1, 1, 17, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_pair1,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                  MVT::v512i1, 3, 12, 18, 19, 
    OPC_EmitNode1, TARGET_VAL(PPC::BUILD_UACC), 0,
                  MVT::v512i1, 1, 20, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXMTACC), 0,
                  MVT::v512i1, 1, 21, 
   0, 
  13, 
   OPC_CheckChild0Integer, 124|128,119, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVDPSP), 0,
                 MVT::v4f32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 6|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPDP), 0,
                 MVT::v2f64, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 14|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSXDSP), 0,
                 MVT::v4f32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 18|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVUXDSP), 0,
                 MVT::v4f32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 16|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                 MVT::v2f64, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 20|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVUXWDP), 0,
                 MVT::v2f64, 1, 0, 
  15, 
   OPC_CheckChild0Integer, 30|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMAXDP), 0,
                 MVT::v2f64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 34|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMINDP), 0,
                 MVT::v2f64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 32|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMAXSP), 0,
                 MVT::v4f32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 36|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMINSP), 0,
                 MVT::v4f32, 2, 0, 1, 
  13, 
   OPC_CheckChild0Integer, 8|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPHP), 0,
                 MVT::v4f32, 1, 0, 
  15, 
   OPC_CheckChild0Integer, 26|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVIEXPDP), 0,
                 MVT::v2f64, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 28|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVIEXPSP), 0,
                 MVT::v4f32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 24|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVDIVSP), 0,
                 MVT::v4f32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 22|128,120, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVDIVDP), 0,
                 MVT::v2f64, 2, 0, 1, 
  13, 
   OPC_CheckChild0Integer, 42|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRESP), 0,
                 MVT::v4f32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 40|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVREDP), 0,
                 MVT::v2f64, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 48|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRSQRTESP), 0,
                 MVT::v4f32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 46|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRSQRTEDP), 0,
                 MVT::v2f64, 1, 0, 
  24, 
   OPC_CheckChild0Integer, 2|128,120, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 0, 1, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVHPSP), 0,
                 MVT::v4f32, 1, 2, 
  35, 
   OPC_CheckChild0Integer, 16|128,112, 
   OPC_RecordChild1,
   OPC_Scope, 11, 
    OPC_CheckChild2Integer, 0, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCFSX_0), 0,
                  MVT::v4f32, 1, 0, 
   16, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCFSX), 0,
                  MVT::v4f32, 2, 1, 0, 
   0, 
  35, 
   OPC_CheckChild0Integer, 20|128,112, 
   OPC_RecordChild1,
   OPC_Scope, 11, 
    OPC_CheckChild2Integer, 0, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCFUX_0), 0,
                  MVT::v4f32, 1, 0, 
   16, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCFUX), 0,
                  MVT::v4f32, 2, 1, 0, 
   0, 
  13, 
   OPC_CheckChild0Integer, 40|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXPTEFP), 0,
                 MVT::v4f32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 116|128,113, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VLOGEFP), 0,
                 MVT::v4f32, 1, 0, 
  15, 
   OPC_CheckChild0Integer, 120|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXFP), 0,
                 MVT::v4f32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 14|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINFP), 0,
                 MVT::v4f32, 2, 0, 1, 
  13, 
   OPC_CheckChild0Integer, 124|128,114, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VREFP), 0,
                 MVT::v4f32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 126|128,114, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRFIM), 0,
                 MVT::v4f32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 0|128,115, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRFIN), 0,
                 MVT::v4f32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 2|128,115, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRFIP), 0,
                 MVT::v4f32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 4|128,115, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRFIZ), 0,
                 MVT::v4f32, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 26|128,115, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRSQRTEFP), 0,
                 MVT::v4f32, 1, 0, 
  17, 
   OPC_CheckChild0Integer, 118|128,113, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMADDFP), 0,
                 MVT::v4f32, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 90|128,114, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VNMSUBFP), 0,
                 MVT::v4f32, 3, 0, 1, 2, 
  0, 
 52, TARGET_VAL(PPCISD::FTSQRT),
  OPC_RecordChild0,
  OPC_Scope, 24, 
   OPC_CheckChild0Type, MVT::f64,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSTSQRTDP), 0,
                  MVT::i32, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FTSQRT), 0,
                  MVT::i32, 1, 0, 
   0, 
  11, 
   OPC_CheckChild0Type, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVTSQRTDP), 0,
                 MVT::i32, 1, 0, 
  11, 
   OPC_CheckChild0Type, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVTSQRTSP), 0,
                 MVT::i32, 1, 0, 
  0, 
 27, TARGET_VAL(PPCISD::MFVSR),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::f64,
  OPC_SwitchType , 9, MVT::i64,
   OPC_CheckPatternPredicate, 57,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                 MVT::i64, 1, 0, 
  9, MVT::i32,
   OPC_CheckPatternPredicate, 57,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRWZ), 0,
                 MVT::i32, 1, 0, 
  0,
 76|128,7, TARGET_VAL(ISD::BITCAST),
  OPC_Scope, 87|128,1, 
   OPC_RecordChild0,
   OPC_SwitchType , 11, MVT::i64,
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckPatternPredicate, 57,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                  MVT::i64, 1, 0, 
   29, MVT::i32,
    OPC_CheckChild0Type, MVT::f32,
    OPC_CheckPatternPredicate, 57,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                  MVT::v4i32, 1, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 1, 2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRWZ), 0,
                  MVT::i32, 1, 3, 
   11, MVT::f64,
    OPC_CheckChild0Type, MVT::i64,
    OPC_CheckPatternPredicate, 57,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::MTVSRD), 0,
                  MVT::f64, 1, 0, 
   109, MVT::f32,
    OPC_CheckChild0Type, MVT::i32,
    OPC_CheckPatternPredicate, 57,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v2i64, 0, 
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::i64, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                  MVT::i64, 3, 2, 0, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                  MVT::f64, 1, 4, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                  MVT::v2i64, 3, 1, 5, 6, 
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v2i64, 0, 
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::i64, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                  MVT::i64, 3, 9, 0, 10, 
    OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                  MVT::f64, 1, 11, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                  MVT::v2i64, 3, 8, 12, 13, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                  MVT::v4i32, 3, 7, 14, 15, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                  MVT::f32, 1, 16, 
   42, MVT::f128,
    OPC_Scope, 7, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    7, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    7, 
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    7, 
     OPC_CheckChild0Type, MVT::v4f32,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    7, 
     OPC_CheckChild0Type, MVT::v2f64,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    0, 
   0,
  80, 
   OPC_MoveChild0,
   OPC_CheckImmAllOnesV,
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v4i32,
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLEQVOnes), 0,
                  MVT::v4i32, 0, 
   19, MVT::v1i128,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitNode1, TARGET_VAL(PPC::XXLEQVOnes), 0,
                  MVT::v4i32, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v1i128, 2, 0, 1, 
   19, MVT::v2i64,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitNode1, TARGET_VAL(PPC::XXLEQVOnes), 0,
                  MVT::v4i32, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i64, 2, 0, 1, 
   19, MVT::v8i16,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitNode1, TARGET_VAL(PPC::XXLEQVOnes), 0,
                  MVT::v4i32, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v8i16, 2, 0, 1, 
   0,
  30|128,5, 
   OPC_RecordChild0,
   OPC_Scope, 94, 
    OPC_CheckChild0Type, MVT::v2f64,
    OPC_SwitchType , 13, MVT::v4i32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 1, 
    13, MVT::v8i16,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v8i16, 2, 0, 1, 
    13, MVT::v16i8,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v16i8, 2, 0, 1, 
    13, MVT::v2i64,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i64, 2, 0, 1, 
    13, MVT::v1i128,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v1i128, 2, 0, 1, 
    13, MVT::v4f32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4f32, 2, 0, 1, 
    0,
   71, 
    OPC_CheckChild0Type, MVT::v4f32,
    OPC_SwitchType , 22, MVT::v2i64,
     OPC_Scope, 13, 
      OPC_CheckPatternPredicate, 15,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v2i64, 2, 0, 1, 
     5, 
      OPC_CheckPatternPredicate, 16,
      OPC_CompleteMatch, 1, 0, 

     0, 
    5, MVT::v16i8,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    5, MVT::v8i16,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    5, MVT::v4i32,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    5, MVT::v1i128,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    13, MVT::v2f64,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2f64, 2, 0, 1, 
    0,
   71, 
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_SwitchType , 22, MVT::v2i64,
     OPC_Scope, 13, 
      OPC_CheckPatternPredicate, 15,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v2i64, 2, 0, 1, 
     5, 
      OPC_CheckPatternPredicate, 16,
      OPC_CompleteMatch, 1, 0, 

     0, 
    5, MVT::v16i8,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    5, MVT::v8i16,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    5, MVT::v1i128,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    13, MVT::v2f64,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2f64, 2, 0, 1, 
    5, MVT::v4f32,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    0,
   71, 
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_SwitchType , 22, MVT::v2i64,
     OPC_Scope, 13, 
      OPC_CheckPatternPredicate, 15,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v2i64, 2, 0, 1, 
     5, 
      OPC_CheckPatternPredicate, 16,
      OPC_CompleteMatch, 1, 0, 

     0, 
    5, MVT::v16i8,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    5, MVT::v4i32,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    5, MVT::v1i128,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    13, MVT::v2f64,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2f64, 2, 0, 1, 
    5, MVT::v4f32,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    0,
   71, 
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_SwitchType , 22, MVT::v2i64,
     OPC_Scope, 13, 
      OPC_CheckPatternPredicate, 15,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v2i64, 2, 0, 1, 
     5, 
      OPC_CheckPatternPredicate, 16,
      OPC_CompleteMatch, 1, 0, 

     0, 
    5, MVT::v8i16,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    5, MVT::v4i32,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    5, MVT::v1i128,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    13, MVT::v2f64,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2f64, 2, 0, 1, 
    5, MVT::v4f32,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    0,
   122, 
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_SwitchType , 22, MVT::v4i32,
     OPC_Scope, 13, 
      OPC_CheckPatternPredicate, 15,
      OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 0, 1, 
     5, 
      OPC_CheckPatternPredicate, 16,
      OPC_CompleteMatch, 1, 0, 

     0, 
    22, MVT::v8i16,
     OPC_Scope, 13, 
      OPC_CheckPatternPredicate, 15,
      OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v8i16, 2, 0, 1, 
     5, 
      OPC_CheckPatternPredicate, 16,
      OPC_CompleteMatch, 1, 0, 

     0, 
    22, MVT::v16i8,
     OPC_Scope, 13, 
      OPC_CheckPatternPredicate, 15,
      OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v16i8, 2, 0, 1, 
     5, 
      OPC_CheckPatternPredicate, 16,
      OPC_CompleteMatch, 1, 0, 

     0, 
    5, MVT::v1i128,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    22, MVT::v4f32,
     OPC_Scope, 13, 
      OPC_CheckPatternPredicate, 15,
      OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4f32, 2, 0, 1, 
     5, 
      OPC_CheckPatternPredicate, 16,
      OPC_CompleteMatch, 1, 0, 

     0, 
    13, MVT::v2f64,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2f64, 2, 0, 1, 
    0,
   105, 
    OPC_CheckChild0Type, MVT::f128,
    OPC_SwitchType , 13, MVT::v2i64,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i64, 2, 0, 1, 
    22, MVT::v4i32,
     OPC_Scope, 13, 
      OPC_CheckPatternPredicate, 15,
      OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v4i32, 2, 0, 1, 
     5, 
      OPC_CheckPatternPredicate, 16,
      OPC_CompleteMatch, 1, 0, 

     0, 
    22, MVT::v8i16,
     OPC_Scope, 13, 
      OPC_CheckPatternPredicate, 15,
      OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v8i16, 2, 0, 1, 
     5, 
      OPC_CheckPatternPredicate, 16,
      OPC_CompleteMatch, 1, 0, 

     0, 
    22, MVT::v16i8,
     OPC_Scope, 13, 
      OPC_CheckPatternPredicate, 15,
      OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v16i8, 2, 0, 1, 
     5, 
      OPC_CheckPatternPredicate, 16,
      OPC_CompleteMatch, 1, 0, 

     0, 
    5, MVT::v4f32,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    5, MVT::v2f64,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    0,
   54, 
    OPC_CheckChild0Type, MVT::v1i128,
    OPC_SwitchType , 5, MVT::v16i8,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    5, MVT::v8i16,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    5, MVT::v4i32,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    5, MVT::v2i64,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    13, MVT::v2f64,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2f64, 2, 0, 1, 
    5, MVT::v4f32,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0, 

    0,
   0, 
  0, 
 54, TARGET_VAL(ISD::LRINT),
  OPC_RecordChild0,
  OPC_CheckType, MVT::i64,
  OPC_Scope, 18, 
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitNode1, TARGET_VAL(PPC::FCTID), 0,
                 MVT::f64, 1, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                 MVT::i64, 1, 1, 
  29, 
   OPC_CheckChild0Type, MVT::f32,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitStringInteger, MVT::i32, PPC::F8RCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 0, 1, 
   OPC_EmitNode1, TARGET_VAL(PPC::FCTID), 0,
                 MVT::f64, 1, 2, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                 MVT::i64, 1, 3, 
  0, 
 54, TARGET_VAL(ISD::LLRINT),
  OPC_RecordChild0,
  OPC_CheckType, MVT::i64,
  OPC_Scope, 18, 
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitNode1, TARGET_VAL(PPC::FCTID), 0,
                 MVT::f64, 1, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                 MVT::i64, 1, 1, 
  29, 
   OPC_CheckChild0Type, MVT::f32,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitStringInteger, MVT::i32, PPC::F8RCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 0, 1, 
   OPC_EmitNode1, TARGET_VAL(PPC::FCTID), 0,
                 MVT::f64, 1, 2, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                 MVT::i64, 1, 3, 
  0, 
 54, TARGET_VAL(ISD::FP_TO_FP16),
  OPC_RecordChild0,
  OPC_CheckType, MVT::i32,
  OPC_Scope, 18, 
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPHP), 0,
                 MVT::f64, 1, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRWZ), 0,
                 MVT::i32, 1, 1, 
  29, 
   OPC_CheckChild0Type, MVT::f32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 0, 1, 
   OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPHP), 0,
                 MVT::f64, 1, 2, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRWZ), 0,
                 MVT::i32, 1, 3, 
  0, 
 117, TARGET_VAL(ISD::STRICT_FP_TO_SINT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 56, 
   OPC_CheckChild1Type, MVT::f128,
   OPC_SwitchType , 17, MVT::i64,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPSDZ), 0,
                  MVT::v4i32, 1, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVRD), 0|OPFL_Chain,
                  MVT::i64, 1, 2, 
   31, MVT::i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPSWZ), 0,
                  MVT::f128, 1, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 2, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRWZ), 0,
                  MVT::i32, 1, 4, 
    OPC_CompleteMatch, 1, 5, 

   0,
  14, 
   OPC_CheckChild1Type, MVT::f64,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 14,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDCTSIZ), 0|OPFL_Chain,
                 MVT::i32, 1, 1, 
  14, 
   OPC_CheckChild1Type, MVT::f32,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 14,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSCTSIZ), 0|OPFL_Chain,
                 MVT::i32, 1, 1, 
  12, 
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVDPSXDS), 0|OPFL_Chain,
                 MVT::v2i64, 1, 1, 
  12, 
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPSXWS), 0|OPFL_Chain,
                 MVT::v4i32, 1, 1, 
  0, 
 6|128,2, TARGET_VAL(ISD::FP_TO_SINT),
  OPC_Scope, 83, 
   OPC_RecordChild0,
   OPC_Scope, 51, 
    OPC_CheckChild0Type, MVT::f128,
    OPC_SwitchType , 16, MVT::i64,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPSDZ), 0,
                   MVT::v4i32, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVRD), 0,
                   MVT::i64, 1, 1, 
    27, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPSWZ), 0,
                   MVT::f128, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 1, 2, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRWZ), 0,
                   MVT::i32, 1, 3, 
    0,
   13, 
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDCTSIZ), 0,
                  MVT::i32, 1, 0, 
   13, 
    OPC_CheckChild0Type, MVT::f32,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSCTSIZ), 0,
                  MVT::i32, 1, 0, 
   0, 
  7|128,1, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 59, 
    OPC_CheckChild1Integer, 0, 
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 4, 
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 40,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPSXDS), 0,
                   MVT::v2i64, 1, 0, 
    21, 
     OPC_CheckPatternPredicate, 28,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4i32, 3, 0, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPSXDS), 0,
                   MVT::v2i64, 1, 2, 
    0, 
   59, 
    OPC_CheckChild1Integer, 2, 
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 6, 
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 28,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPSXDS), 0,
                   MVT::v2i64, 1, 0, 
    21, 
     OPC_CheckPatternPredicate, 40,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4i32, 3, 0, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPSXDS), 0,
                   MVT::v2i64, 1, 2, 
    0, 
   0, 
  38, 
   OPC_RecordChild0,
   OPC_SwitchType , 9, MVT::v2i64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVDPSXDS), 0,
                  MVT::v2i64, 1, 0, 
   22, MVT::v4i32,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPSXWS), 0,
                   MVT::v4i32, 1, 0, 
    9, 
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VCTSXS_0), 0,
                   MVT::v4i32, 1, 0, 
    0, 
   0,
  0, 
 117, TARGET_VAL(ISD::STRICT_FP_TO_UINT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 56, 
   OPC_CheckChild1Type, MVT::f128,
   OPC_SwitchType , 17, MVT::i64,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPUDZ), 0,
                  MVT::v4i32, 1, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVRD), 0|OPFL_Chain,
                  MVT::i64, 1, 2, 
   31, MVT::i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPUWZ), 0,
                  MVT::f128, 1, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 2, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::MFVSRWZ), 0,
                  MVT::i32, 1, 4, 
    OPC_CompleteMatch, 1, 5, 

   0,
  14, 
   OPC_CheckChild1Type, MVT::f64,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 14,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDCTUIZ), 0|OPFL_Chain,
                 MVT::i32, 1, 1, 
  14, 
   OPC_CheckChild1Type, MVT::f32,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 14,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSCTUIZ), 0|OPFL_Chain,
                 MVT::i32, 1, 1, 
  12, 
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVDPUXDS), 0|OPFL_Chain,
                 MVT::v2i64, 1, 1, 
  12, 
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPUXWS), 0|OPFL_Chain,
                 MVT::v4i32, 1, 1, 
  0, 
 6|128,2, TARGET_VAL(ISD::FP_TO_UINT),
  OPC_Scope, 83, 
   OPC_RecordChild0,
   OPC_Scope, 51, 
    OPC_CheckChild0Type, MVT::f128,
    OPC_SwitchType , 16, MVT::i64,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPUDZ), 0,
                   MVT::v4i32, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVRD), 0,
                   MVT::i64, 1, 1, 
    27, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPUWZ), 0,
                   MVT::f128, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 1, 2, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRWZ), 0,
                   MVT::i32, 1, 3, 
    0,
   13, 
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDCTUIZ), 0,
                  MVT::i32, 1, 0, 
   13, 
    OPC_CheckChild0Type, MVT::f32,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSCTUIZ), 0,
                  MVT::i32, 1, 0, 
   0, 
  7|128,1, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 59, 
    OPC_CheckChild1Integer, 0, 
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 4, 
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 40,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPUXDS), 0,
                   MVT::v2i64, 1, 0, 
    21, 
     OPC_CheckPatternPredicate, 28,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4i32, 3, 0, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPUXDS), 0,
                   MVT::v2i64, 1, 2, 
    0, 
   59, 
    OPC_CheckChild1Integer, 2, 
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 6, 
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 28,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPUXDS), 0,
                   MVT::v2i64, 1, 0, 
    21, 
     OPC_CheckPatternPredicate, 40,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4i32, 3, 0, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPUXDS), 0,
                   MVT::v2i64, 1, 2, 
    0, 
   0, 
  38, 
   OPC_RecordChild0,
   OPC_SwitchType , 9, MVT::v2i64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVDPUXDS), 0,
                  MVT::v2i64, 1, 0, 
   22, MVT::v4i32,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPUXWS), 0,
                   MVT::v4i32, 1, 0, 
    9, 
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VCTUXS_0), 0,
                   MVT::v4i32, 1, 0, 
    0, 
   0,
  0, 
 68, TARGET_VAL(ISD::LROUND),
  OPC_RecordChild0,
  OPC_CheckType, MVT::i64,
  OPC_Scope, 25, 
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitNode1, TARGET_VAL(PPC::XSRDPI), 0,
                 MVT::f64, 1, 0, 
   OPC_EmitNode1, TARGET_VAL(PPC::FCTID), 0,
                 MVT::f64, 1, 1, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                 MVT::i64, 1, 2, 
  36, 
   OPC_CheckChild0Type, MVT::f32,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 0, 1, 
   OPC_EmitNode1, TARGET_VAL(PPC::XSRDPI), 0,
                 MVT::f64, 1, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::FCTID), 0,
                 MVT::f64, 1, 3, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                 MVT::i64, 1, 4, 
  0, 
 68, TARGET_VAL(ISD::LLROUND),
  OPC_RecordChild0,
  OPC_CheckType, MVT::i64,
  OPC_Scope, 25, 
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitNode1, TARGET_VAL(PPC::XSRDPI), 0,
                 MVT::f64, 1, 0, 
   OPC_EmitNode1, TARGET_VAL(PPC::FCTID), 0,
                 MVT::f64, 1, 1, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                 MVT::i64, 1, 2, 
  36, 
   OPC_CheckChild0Type, MVT::f32,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 0, 1, 
   OPC_EmitNode1, TARGET_VAL(PPC::XSRDPI), 0,
                 MVT::f64, 1, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::FCTID), 0,
                 MVT::f64, 1, 3, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSRD), 0,
                 MVT::i64, 1, 4, 
  0, 
 82, TARGET_VAL(ISD::PREFETCH),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 49, 
   OPC_CheckChild2Integer, 0, 
   OPC_CheckChild2Type, MVT::i32,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_Scope, 17, 
    OPC_CheckChild4Integer, 2, 
    OPC_CheckComplexPat, /*CP*/11, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBT), 0|OPFL_Chain|OPFL_MemRefs,
                  3, 4, 2, 3, 
   19, 
    OPC_CheckChild4Integer, 0, 
    OPC_CheckPatternPredicate, 58,
    OPC_CheckComplexPat, /*CP*/11, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo0, TARGET_VAL(PPC::ICBT), 0|OPFL_Chain|OPFL_MemRefs,
                  3, 4, 2, 3, 
   0, 
  26, 
   OPC_CheckChild2Integer, 2, 
   OPC_CheckChild2Type, MVT::i32,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckChild4Integer, 2, 
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBTST), 0|OPFL_Chain|OPFL_MemRefs,
                 3, 4, 2, 3, 
  0, 
 58|128,13, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
  OPC_RecordNode,
  OPC_Scope, 18, 
   OPC_CheckChild1Integer, 48|128,117, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LDBRX), 0|OPFL_Chain,
                 MVT::i64, 2, 2, 3, 
  18, 
   OPC_CheckChild1Integer, 0|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::STDCX), 0|OPFL_Chain,
                 MVT::i32, 3, 2, 3, 4, 
  16, 
   OPC_CheckChild1Integer, 44|128,117, 
   OPC_RecordChild2,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LHBRX), 0|OPFL_Chain,
                 MVT::i32, 2, 2, 3, 
  16, 
   OPC_CheckChild1Integer, 46|128,117, 
   OPC_RecordChild2,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LWBRX), 0|OPFL_Chain,
                 MVT::i32, 2, 2, 3, 
  18, 
   OPC_CheckChild1Integer, 12|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::STWCX), 0|OPFL_Chain,
                 MVT::i32, 3, 2, 3, 4, 
  18, 
   OPC_CheckChild1Integer, 126|128,118, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::STBCX), 0|OPFL_Chain,
                 MVT::i32, 3, 2, 3, 4, 
  20, 
   OPC_CheckChild1Integer, 4|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 59,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::STHCX), 0|OPFL_Chain,
                 MVT::i32, 3, 2, 3, 4, 
  31, 
   OPC_CheckChild1Integer, 2|128,116, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_ADD_I128), 0|OPFL_Chain,
                 3, MVT::i128, MVT::i128, MVT::i32, 4, 4, 5, 2, 3, 
   OPC_MorphNodeTo2, TARGET_VAL(PPC::SPLIT_QUADWORD), 0|OPFL_Chain,
                 MVT::i64, MVT::i64, 1, 6, 
  31, 
   OPC_CheckChild1Integer, 10|128,116, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_SUB_I128), 0|OPFL_Chain,
                 3, MVT::i128, MVT::i128, MVT::i32, 4, 4, 5, 2, 3, 
   OPC_MorphNodeTo2, TARGET_VAL(PPC::SPLIT_QUADWORD), 0|OPFL_Chain,
                 MVT::i64, MVT::i64, 1, 6, 
  31, 
   OPC_CheckChild1Integer, 14|128,116, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_XOR_I128), 0|OPFL_Chain,
                 3, MVT::i128, MVT::i128, MVT::i32, 4, 4, 5, 2, 3, 
   OPC_MorphNodeTo2, TARGET_VAL(PPC::SPLIT_QUADWORD), 0|OPFL_Chain,
                 MVT::i64, MVT::i64, 1, 6, 
  31, 
   OPC_CheckChild1Integer, 4|128,116, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_AND_I128), 0|OPFL_Chain,
                 3, MVT::i128, MVT::i128, MVT::i32, 4, 4, 5, 2, 3, 
   OPC_MorphNodeTo2, TARGET_VAL(PPC::SPLIT_QUADWORD), 0|OPFL_Chain,
                 MVT::i64, MVT::i64, 1, 6, 
  31, 
   OPC_CheckChild1Integer, 6|128,116, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_NAND_I128), 0|OPFL_Chain,
                 3, MVT::i128, MVT::i128, MVT::i32, 4, 4, 5, 2, 3, 
   OPC_MorphNodeTo2, TARGET_VAL(PPC::SPLIT_QUADWORD), 0|OPFL_Chain,
                 MVT::i64, MVT::i64, 1, 6, 
  31, 
   OPC_CheckChild1Integer, 8|128,116, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_OR_I128), 0|OPFL_Chain,
                 3, MVT::i128, MVT::i128, MVT::i32, 4, 4, 5, 2, 3, 
   OPC_MorphNodeTo2, TARGET_VAL(PPC::SPLIT_QUADWORD), 0|OPFL_Chain,
                 MVT::i64, MVT::i64, 1, 6, 
  31, 
   OPC_CheckChild1Integer, 12|128,116, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_SWAP_I128), 0|OPFL_Chain,
                 3, MVT::i128, MVT::i128, MVT::i32, 4, 4, 5, 2, 3, 
   OPC_MorphNodeTo2, TARGET_VAL(PPC::SPLIT_QUADWORD), 0|OPFL_Chain,
                 MVT::i64, MVT::i64, 1, 6, 
  35, 
   OPC_CheckChild1Integer, 36|128,116, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_CMP_SWAP_I128), 0|OPFL_Chain,
                 3, MVT::i128, MVT::i128, MVT::i32, 6, 6, 7, 2, 3, 4, 5, 
   OPC_MorphNodeTo2, TARGET_VAL(PPC::SPLIT_QUADWORD), 0|OPFL_Chain,
                 MVT::i64, MVT::i64, 1, 8, 
  48, 
   OPC_CheckChild1Integer, 126|128,115, 
   OPC_RecordChild2,
   OPC_Scope, 20, 
    OPC_CheckComplexPat, /*CP*/12, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::LQ), 0|OPFL_Chain,
                  MVT::i128, 2, 2, 3, 
    OPC_MorphNodeTo2, TARGET_VAL(PPC::SPLIT_QUADWORD), 0|OPFL_Chain,
                  MVT::i64, MVT::i64, 1, 4, 
   20, 
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::LQX_PSEUDO), 0|OPFL_Chain,
                  MVT::i128, 2, 2, 3, 
    OPC_MorphNodeTo2, TARGET_VAL(PPC::SPLIT_QUADWORD), 0|OPFL_Chain,
                  MVT::i64, MVT::i64, 1, 4, 
   0, 
  38, 
   OPC_CheckChild1Integer, 100|128,2, 
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_SwitchType , 12, MVT::i32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget, 1,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::DecreaseCTRloop), 0|OPFL_Chain,
                  MVT::i1, MVT::i32, 1, 2, 
   12, MVT::i64,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget, 1,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::DecreaseCTR8loop), 0|OPFL_Chain,
                  MVT::i1, MVT::i64, 1, 2, 
   0,
  21, 
   OPC_CheckChild1Integer, 22|128,111, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDEX8), 0|OPFL_Chain,
                 MVT::i64, 3, 1, 2, 3, 
  31, 
   OPC_CheckChild1Integer, 66|128,117, 
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::i64,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::MFSPR8), 0|OPFL_Chain,
                  MVT::i64, 1, 1, 
   8, MVT::i32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::MFSPR), 0|OPFL_Chain,
                  MVT::i32, 1, 1, 
   0,
  16, 
   OPC_CheckChild1Integer, 54|128,116, 
   OPC_CheckPatternPredicate, 46,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::DARN), 0|OPFL_Chain,
                 MVT::i64, 1, 1, 
  16, 
   OPC_CheckChild1Integer, 58|128,116, 
   OPC_CheckPatternPredicate, 46,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::DARN), 0|OPFL_Chain,
                 MVT::i64, 1, 1, 
  19, 
   OPC_CheckChild1Integer, 34|128,119, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::TEND), 0|OPFL_Chain,
                 MVT::i32, 1, 3, 
  14, 
   OPC_CheckChild1Integer, 18|128,119, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::TABORT), 0|OPFL_Chain,
                 MVT::i32, 1, 1, 
  23, 
   OPC_CheckChild1Integer, 24|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNodeXForm, 2, 4,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::TABORTWC), 0|OPFL_Chain,
                 MVT::i32, 3, 5, 2, 3, 
  28, 
   OPC_CheckChild1Integer, 26|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNodeXForm, 2, 4,
   OPC_EmitConvertToTarget, 3,
   OPC_EmitNodeXForm, 2, 6,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::TABORTWCI), 0|OPFL_Chain,
                 MVT::i32, 3, 5, 2, 7, 
  23, 
   OPC_CheckChild1Integer, 20|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNodeXForm, 2, 4,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::TABORTDC), 0|OPFL_Chain,
                 MVT::i32, 3, 5, 2, 3, 
  28, 
   OPC_CheckChild1Integer, 22|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNodeXForm, 2, 4,
   OPC_EmitConvertToTarget, 3,
   OPC_EmitNodeXForm, 2, 6,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::TABORTDCI), 0|OPFL_Chain,
                 MVT::i32, 3, 5, 2, 7, 
  14, 
   OPC_CheckChild1Integer, 46|128,119, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::TRECLAIM), 0|OPFL_Chain,
                 MVT::i32, 1, 1, 
  12, 
   OPC_CheckChild1Integer, 44|128,119, 
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::TRECHKPT), 0|OPFL_Chain,
                 MVT::i32, 0, 
  19, 
   OPC_CheckChild1Integer, 52|128,119, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::TSR), 0|OPFL_Chain,
                 MVT::i32, 1, 3, 
  17, 
   OPC_CheckChild1Integer, 24|128,117, 
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 4|128,2, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFSPR8), 0|OPFL_Chain,
                 MVT::i64, 1, 1, 
  17, 
   OPC_CheckChild1Integer, 26|128,117, 
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 6|128,2, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFSPR8), 0|OPFL_Chain,
                 MVT::i64, 1, 1, 
  17, 
   OPC_CheckChild1Integer, 28|128,117, 
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 0|128,2, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFSPR8), 0|OPFL_Chain,
                 MVT::i64, 1, 1, 
  17, 
   OPC_CheckChild1Integer, 30|128,117, 
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 2|128,2, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFSPR8), 0|OPFL_Chain,
                 MVT::i64, 1, 1, 
  16, 
   OPC_CheckChild1Integer, 36|128,119, 
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::TEND), 0|OPFL_Chain,
                 MVT::i32, 1, 1, 
  16, 
   OPC_CheckChild1Integer, 48|128,119, 
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::TSR), 0|OPFL_Chain,
                 MVT::i32, 1, 1, 
  16, 
   OPC_CheckChild1Integer, 54|128,119, 
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::TSR), 0|OPFL_Chain,
                 MVT::i32, 1, 1, 
  27, 
   OPC_CheckChild1Integer, 56|128,116, 
   OPC_CheckPatternPredicate, 46,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitNode1, TARGET_VAL(PPC::DARN), 0|OPFL_Chain,
                 MVT::i64, 1, 1, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                 MVT::i32, 2, 2, 3, 
  49, 
   OPC_CheckChild1Integer, 56|128,119, 
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitNode1, TARGET_VAL(PPC::LI), 0,
                 MVT::i32, 1, 3, 
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitNode1, TARGET_VAL(PPC::TABORTWCI), 0|OPFL_Chain,
                 MVT::i32, 3, 2, 4, 5, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                 MVT::i64, 3, 1, 6, 7, 
  12, 
   OPC_CheckChild1Integer, 30|128,119, 
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::TCHECK_RET), 0|OPFL_Chain,
                 MVT::i32, 0, 
  33, 
   OPC_CheckChild1Integer, 28|128,119, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 27,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_EmitNode1, TARGET_VAL(PPC::TBEGIN_RET), 0|OPFL_Chain,
                 MVT::i32, 1, 3, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::XORI), 0,
                 MVT::i32, 2, 4, 5, 
   OPC_CompleteMatch, 1, 6, 

  31, 
   OPC_CheckChild1Integer, 122|128,118, 
   OPC_RecordChild2,
   OPC_Scope, 15, 
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget, 1,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SETRNDi), 0|OPFL_Chain,
                  MVT::f64, 1, 2, 
   8, 
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SETRND), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   0, 
  10, 
   OPC_CheckChild1Integer, 104|128,118, 
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFFS), 0|OPFL_Chain,
                 MVT::f64, 0, 
  12, 
   OPC_CheckChild1Integer, 120|128,118, 
   OPC_RecordChild2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::SETFLM), 0|OPFL_Chain,
                 MVT::f64, 1, 1, 
  18, 
   OPC_CheckChild1Integer, 78|128,119, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVW4X), 0|OPFL_Chain,
                 MVT::v4i32, 2, 2, 3, 
  52, 
   OPC_CheckChild1Integer, 76|128,119, 
   OPC_RecordChild2,
   OPC_Scope, 14, 
    OPC_CheckPatternPredicate, 9,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVW4X), 0|OPFL_Chain,
                  MVT::v4i32, 2, 2, 3, 
   30, 
    OPC_CheckPatternPredicate, 8,
    OPC_Scope, 12, 
     OPC_CheckComplexPat, /*CP*/3, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LXV), 0|OPFL_Chain,
                   MVT::v4i32, 2, 2, 3, 
    12, 
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVX), 0|OPFL_Chain,
                   MVT::v4i32, 2, 2, 3, 
    0, 
   0, 
  19, 
   OPC_CheckChild1Integer, 70|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVL), 0|OPFL_Chain,
                 MVT::v4i32, 2, 3, 2, 
  19, 
   OPC_CheckChild1Integer, 72|128,119, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVLL), 0|OPFL_Chain,
                 MVT::v4i32, 2, 3, 2, 
  18, 
   OPC_CheckChild1Integer, 64|128,111, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LVEBX), 0|OPFL_Chain,
                 MVT::v16i8, 2, 2, 3, 
  18, 
   OPC_CheckChild1Integer, 66|128,111, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LVEHX), 0|OPFL_Chain,
                 MVT::v8i16, 2, 2, 3, 
  18, 
   OPC_CheckChild1Integer, 68|128,111, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LVEWX), 0|OPFL_Chain,
                 MVT::v4i32, 2, 2, 3, 
  18, 
   OPC_CheckChild1Integer, 74|128,111, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LVX), 0|OPFL_Chain,
                 MVT::v4i32, 2, 2, 3, 
  18, 
   OPC_CheckChild1Integer, 76|128,111, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 16,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LVXL), 0|OPFL_Chain,
                 MVT::v4i32, 2, 2, 3, 
  52, 
   OPC_CheckChild1Integer, 74|128,119, 
   OPC_RecordChild2,
   OPC_Scope, 30, 
    OPC_CheckPatternPredicate, 20,
    OPC_Scope, 12, 
     OPC_CheckComplexPat, /*CP*/3, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVP), 0|OPFL_Chain,
                   MVT::v256i1, 2, 2, 3, 
    12, 
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVPX), 0|OPFL_Chain,
                   MVT::v256i1, 2, 2, 3, 
    0, 
   14, 
    OPC_CheckPatternPredicate, 21,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXVP), 0|OPFL_Chain,
                  MVT::v256i1, 2, 2, 3, 
   0, 
  12, 
   OPC_CheckChild1Integer, 78|128,111, 
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MFVSCR), 0|OPFL_Chain,
                 MVT::v8i16, 0, 
  18, 
   OPC_CheckChild1Integer, 10|128,114, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMHADDSHS), 0|OPFL_Chain,
                 MVT::v8i16, 3, 1, 2, 3, 
  18, 
   OPC_CheckChild1Integer, 12|128,114, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMHRADDSHS), 0|OPFL_Chain,
                 MVT::v8i16, 3, 1, 2, 3, 
  18, 
   OPC_CheckChild1Integer, 40|128,114, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMSUMSHS), 0|OPFL_Chain,
                 MVT::v4i32, 3, 1, 2, 3, 
  18, 
   OPC_CheckChild1Integer, 48|128,114, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMSUMUHS), 0|OPFL_Chain,
                 MVT::v4i32, 3, 1, 2, 3, 
  16, 
   OPC_CheckChild1Integer, 108|128,115, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUMSWS), 0|OPFL_Chain,
                 MVT::v4i32, 2, 1, 2, 
  16, 
   OPC_CheckChild1Integer, 100|128,115, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUM2SWS), 0|OPFL_Chain,
                 MVT::v4i32, 2, 1, 2, 
  16, 
   OPC_CheckChild1Integer, 102|128,115, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUM4SBS), 0|OPFL_Chain,
                 MVT::v4i32, 2, 1, 2, 
  16, 
   OPC_CheckChild1Integer, 104|128,115, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUM4SHS), 0|OPFL_Chain,
                 MVT::v4i32, 2, 1, 2, 
  16, 
   OPC_CheckChild1Integer, 106|128,115, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUM4UBS), 0|OPFL_Chain,
                 MVT::v4i32, 2, 1, 2, 
  16, 
   OPC_CheckChild1Integer, 104|128,114, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKSHSS), 0|OPFL_Chain,
                 MVT::v16i8, 2, 1, 2, 
  16, 
   OPC_CheckChild1Integer, 106|128,114, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKSHUS), 0|OPFL_Chain,
                 MVT::v16i8, 2, 1, 2, 
  16, 
   OPC_CheckChild1Integer, 108|128,114, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKSWSS), 0|OPFL_Chain,
                 MVT::v8i16, 2, 1, 2, 
  16, 
   OPC_CheckChild1Integer, 110|128,114, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKSWUS), 0|OPFL_Chain,
                 MVT::v8i16, 2, 1, 2, 
  16, 
   OPC_CheckChild1Integer, 114|128,114, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKUHUS), 0|OPFL_Chain,
                 MVT::v16i8, 2, 1, 2, 
  16, 
   OPC_CheckChild1Integer, 116|128,114, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKUWUS), 0|OPFL_Chain,
                 MVT::v8i16, 2, 1, 2, 
  16, 
   OPC_CheckChild1Integer, 100|128,114, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 50,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKSDSS), 0|OPFL_Chain,
                 MVT::v4i32, 2, 1, 2, 
  16, 
   OPC_CheckChild1Integer, 102|128,114, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 50,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKSDUS), 0|OPFL_Chain,
                 MVT::v4i32, 2, 1, 2, 
  16, 
   OPC_CheckChild1Integer, 112|128,114, 
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 50,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKUDUS), 0|OPFL_Chain,
                 MVT::v4i32, 2, 1, 2, 
  18, 
   OPC_CheckChild1Integer, 68|128,119, 
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 15,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVD2X), 0|OPFL_Chain,
                 MVT::v2f64, 2, 2, 3, 
  52, 
   OPC_CheckChild1Integer, 66|128,119, 
   OPC_RecordChild2,
   OPC_Scope, 14, 
    OPC_CheckPatternPredicate, 18,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVD2X), 0|OPFL_Chain,
                  MVT::v2f64, 2, 2, 3, 
   30, 
    OPC_CheckPatternPredicate, 8,
    OPC_Scope, 12, 
     OPC_CheckComplexPat, /*CP*/3, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LXV), 0|OPFL_Chain,
                   MVT::v2f64, 2, 2, 3, 
    12, 
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVX), 0|OPFL_Chain,
                   MVT::v2f64, 2, 2, 3, 
    0, 
   0, 
  0, 
 79, TARGET_VAL(PPCISD::STORE_COND),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 17, 
   OPC_CheckChild2Type, MVT::i64,
   OPC_CheckChild3Integer, 16, 
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::STDCX), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                 MVT::i32, 3, 2, 3, 4, 
  54, 
   OPC_CheckChild2Type, MVT::i32,
   OPC_Scope, 15, 
    OPC_CheckChild3Integer, 8, 
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::STWCX), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                  MVT::i32, 3, 2, 3, 4, 
   15, 
    OPC_CheckChild3Integer, 2, 
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::STBCX), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                  MVT::i32, 3, 2, 3, 4, 
   17, 
    OPC_CheckChild3Integer, 4, 
    OPC_CheckPatternPredicate, 59,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::STHCX), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
                  MVT::i32, 3, 2, 3, 4, 
   0, 
  0, 
 118|128,19, TARGET_VAL(ISD::LOAD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 50|128,3, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckPredicate, 19,
   OPC_SwitchType , 48|128,1, MVT::i32,
    OPC_Scope, 21, 
     OPC_CheckPredicate, 20,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZpc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 4, 
    21, 
     OPC_CheckPredicate, 22,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZpc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 4, 
    21, 
     OPC_CheckPredicate, 20,
     OPC_CheckPredicate, 7,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZpc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 4, 
    21, 
     OPC_CheckPredicate, 22,
     OPC_CheckPredicate, 7,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZpc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 4, 
    21, 
     OPC_CheckPredicate, 23,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHApc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 4, 
    21, 
     OPC_CheckPredicate, 20,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZpc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 4, 
    21, 
     OPC_CheckPredicate, 22,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZpc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 4, 
    19, 
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWZpc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 4, 
    0, 
   114|128,1, MVT::i64,
    OPC_Scope, 21, 
     OPC_CheckPredicate, 20,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ8pc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 4, 
    21, 
     OPC_CheckPredicate, 22,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ8pc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 4, 
    21, 
     OPC_CheckPredicate, 20,
     OPC_CheckPredicate, 7,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ8pc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 4, 
    21, 
     OPC_CheckPredicate, 22,
     OPC_CheckPredicate, 7,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ8pc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 4, 
    21, 
     OPC_CheckPredicate, 23,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHA8pc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 4, 
    21, 
     OPC_CheckPredicate, 20,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZ8pc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 4, 
    21, 
     OPC_CheckPredicate, 22,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZ8pc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 4, 
    21, 
     OPC_CheckPredicate, 20,
     OPC_CheckPredicate, 10,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWZ8pc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 4, 
    21, 
     OPC_CheckPredicate, 23,
     OPC_CheckPredicate, 10,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWA8pc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 4, 
    21, 
     OPC_CheckPredicate, 22,
     OPC_CheckPredicate, 10,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWZ8pc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 4, 
    19, 
     OPC_CheckPredicate, 24,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLDpc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 4, 
    0, 
   0,
  50|128,10, 
   OPC_RecordChild1,
   OPC_CheckPredicate, 19,
   OPC_Scope, 18, 
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate, 7,
    OPC_CheckType, MVT::i32,
    OPC_CheckComplexPat, /*CP*/6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
   18, 
    OPC_CheckPredicate, 23,
    OPC_CheckPredicate, 8,
    OPC_CheckType, MVT::i32,
    OPC_CheckComplexPat, /*CP*/6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LHA), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
   18, 
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate, 8,
    OPC_CheckType, MVT::i32,
    OPC_CheckComplexPat, /*CP*/6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZ), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
   16, 
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::i32,
    OPC_CheckComplexPat, /*CP*/6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZ), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
   18, 
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate, 7,
    OPC_CheckType, MVT::i32,
    OPC_CheckComplexPat, /*CP*/2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
   18, 
    OPC_CheckPredicate, 23,
    OPC_CheckPredicate, 8,
    OPC_CheckType, MVT::i32,
    OPC_CheckComplexPat, /*CP*/2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LHAX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
   18, 
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate, 8,
    OPC_CheckType, MVT::i32,
    OPC_CheckComplexPat, /*CP*/2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
   16, 
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::i32,
    OPC_CheckComplexPat, /*CP*/2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
   34, 
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate, 21,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 12, 
     OPC_CheckComplexPat, /*CP*/6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3, 
    12, 
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3, 
    0, 
   99, 
    OPC_CheckPredicate, 22,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 30, 
     OPC_CheckPredicate, 21,
     OPC_Scope, 12, 
      OPC_CheckComplexPat, /*CP*/6, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3, 
     12, 
      OPC_CheckComplexPat, /*CP*/2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3, 
     0, 
    30, 
     OPC_CheckPredicate, 7,
     OPC_Scope, 12, 
      OPC_CheckComplexPat, /*CP*/6, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3, 
     12, 
      OPC_CheckComplexPat, /*CP*/2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3, 
     0, 
    30, 
     OPC_CheckPredicate, 8,
     OPC_Scope, 12, 
      OPC_CheckComplexPat, /*CP*/6, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZ), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3, 
     12, 
      OPC_CheckComplexPat, /*CP*/2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3, 
     0, 
    0, 
   66, 
    OPC_CheckPredicate, 23,
    OPC_CheckType, MVT::i64,
    OPC_Scope, 14, 
     OPC_CheckPredicate, 8,
     OPC_CheckComplexPat, /*CP*/6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LHA8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    14, 
     OPC_CheckPredicate, 10,
     OPC_CheckComplexPat, /*CP*/1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LWA), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    14, 
     OPC_CheckPredicate, 8,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LHAX8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    14, 
     OPC_CheckPredicate, 10,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LWAX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    0, 
   96, 
    OPC_CheckPredicate, 20,
    OPC_CheckType, MVT::i64,
    OPC_Scope, 14, 
     OPC_CheckPredicate, 7,
     OPC_CheckComplexPat, /*CP*/6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    14, 
     OPC_CheckPredicate, 8,
     OPC_CheckComplexPat, /*CP*/6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZ8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    14, 
     OPC_CheckPredicate, 10,
     OPC_CheckComplexPat, /*CP*/6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZ8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    14, 
     OPC_CheckPredicate, 7,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    14, 
     OPC_CheckPredicate, 8,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZX8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    14, 
     OPC_CheckPredicate, 10,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZX8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    0, 
   32, 
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::i64,
    OPC_Scope, 12, 
     OPC_CheckComplexPat, /*CP*/1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LD), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    12, 
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LDX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    0, 
   34, 
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate, 21,
    OPC_CheckType, MVT::i64,
    OPC_Scope, 12, 
     OPC_CheckComplexPat, /*CP*/6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    12, 
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    0, 
   22|128,1, 
    OPC_CheckPredicate, 22,
    OPC_SwitchType , 126, MVT::i64,
     OPC_Scope, 30, 
      OPC_CheckPredicate, 21,
      OPC_Scope, 12, 
       OPC_CheckComplexPat, /*CP*/6, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3, 
      12, 
       OPC_CheckComplexPat, /*CP*/2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3, 
      0, 
     30, 
      OPC_CheckPredicate, 7,
      OPC_Scope, 12, 
       OPC_CheckComplexPat, /*CP*/6, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3, 
      12, 
       OPC_CheckComplexPat, /*CP*/2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3, 
      0, 
     30, 
      OPC_CheckPredicate, 8,
      OPC_Scope, 12, 
       OPC_CheckComplexPat, /*CP*/6, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZ8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3, 
      12, 
       OPC_CheckComplexPat, /*CP*/2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZX8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3, 
      0, 
     30, 
      OPC_CheckPredicate, 10,
      OPC_Scope, 12, 
       OPC_CheckComplexPat, /*CP*/6, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZ8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3, 
      12, 
       OPC_CheckComplexPat, /*CP*/2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZX8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3, 
      0, 
     0, 
    16, MVT::i32,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat, /*CP*/4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3, 
    0,
   20, 
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate, 21,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
   20, 
    OPC_CheckPredicate, 22,
    OPC_CheckPredicate, 7,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
   20, 
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate, 7,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
   20, 
    OPC_CheckPredicate, 22,
    OPC_CheckPredicate, 8,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZ), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
   20, 
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate, 8,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZ), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
   20, 
    OPC_CheckPredicate, 23,
    OPC_CheckPredicate, 8,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHA), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
   18, 
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWZ), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
   20, 
    OPC_CheckPredicate, 22,
    OPC_CheckPredicate, 21,
    OPC_CheckType, MVT::i64,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i64, 2, 2, 3, 
   20, 
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate, 21,
    OPC_CheckType, MVT::i64,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i64, 2, 2, 3, 
   20, 
    OPC_CheckPredicate, 22,
    OPC_CheckPredicate, 7,
    OPC_CheckType, MVT::i64,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i64, 2, 2, 3, 
   20, 
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate, 7,
    OPC_CheckType, MVT::i64,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i64, 2, 2, 3, 
   20, 
    OPC_CheckPredicate, 22,
    OPC_CheckPredicate, 8,
    OPC_CheckType, MVT::i64,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZ8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i64, 2, 2, 3, 
   20, 
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate, 8,
    OPC_CheckType, MVT::i64,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZ8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i64, 2, 2, 3, 
   20, 
    OPC_CheckPredicate, 23,
    OPC_CheckPredicate, 8,
    OPC_CheckType, MVT::i64,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHA8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i64, 2, 2, 3, 
   20, 
    OPC_CheckPredicate, 22,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::i64,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWZ8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i64, 2, 2, 3, 
   20, 
    OPC_CheckPredicate, 20,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::i64,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWZ8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i64, 2, 2, 3, 
   20, 
    OPC_CheckPredicate, 23,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::i64,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWA8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i64, 2, 2, 3, 
   14|128,1, 
    OPC_CheckPredicate, 24,
    OPC_SwitchType , 14, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat, /*CP*/4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLD), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    32, MVT::f32,
     OPC_Scope, 14, 
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 3, 
     14, 
      OPC_CheckPatternPredicate, 12,
      OPC_CheckComplexPat, /*CP*/2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 3, 
     0, 
    32, MVT::f64,
     OPC_Scope, 14, 
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
     14, 
      OPC_CheckPatternPredicate, 15,
      OPC_CheckComplexPat, /*CP*/2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
     0, 
    52, MVT::f128,
     OPC_CheckPatternPredicate, 8,
     OPC_Scope, 23, 
      OPC_CheckComplexPat, /*CP*/3, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXV), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 2, 3, 
      OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                    MVT::f128, 2, 4, 5, 
     23, 
      OPC_CheckComplexPat, /*CP*/2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 2, 3, 
      OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                    MVT::f128, 2, 4, 5, 
     0, 
    0,
   58, 
    OPC_CheckPredicate, 22,
    OPC_CheckType, MVT::f64,
    OPC_Scope, 23, 
     OPC_CheckPredicate, 5,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVHPDP), 0|OPFL_Chain,
                   MVT::f64, 1, 4, 
    27, 
     OPC_CheckPredicate, 25,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f32, 2, 2, 3, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                   MVT::f64, 2, 4, 5, 
    0, 
   29, 
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::f128,
    OPC_CheckPatternPredicate, 10,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::PLXV), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v4i32, 2, 2, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                  MVT::f128, 2, 4, 5, 
   69, 
    OPC_CheckPredicate, 22,
    OPC_SwitchType , 27, MVT::f64,
     OPC_CheckPredicate, 25,
     OPC_CheckPatternPredicate, 12,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f32, 2, 2, 3, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                   MVT::f64, 2, 4, 5, 
    34, MVT::f32,
     OPC_CheckPredicate, 5,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVHPDP), 0|OPFL_Chain,
                   MVT::f64, 1, 4, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                   MVT::f32, 2, 5, 6, 
    0,
   0, 
  121, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckPredicate, 19,
   OPC_Scope, 42, 
    OPC_CheckPredicate, 24,
    OPC_SwitchType , 17, MVT::f32,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLFSpc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f32, 2, 2, 4, 
    17, MVT::f64,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLFDpc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 4, 
    0,
   34, 
    OPC_CheckPredicate, 22,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate, 11,
    OPC_CheckComplexPat, /*CP*/5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitNode1, TARGET_VAL(PPC::PLFSpc), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f32, 2, 2, 4, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                  MVT::f64, 2, 5, 6, 
   32, 
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::f128,
    OPC_CheckPatternPredicate, 11,
    OPC_CheckComplexPat, /*CP*/5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitNode1, TARGET_VAL(PPC::PLXVpc), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v4i32, 2, 2, 4, 
    OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                  MVT::f128, 2, 5, 6, 
   0, 
  13|128,3, 
   OPC_RecordChild1,
   OPC_CheckPredicate, 19,
   OPC_Scope, 38|128,1, 
    OPC_CheckPredicate, 24,
    OPC_SwitchType , 79, MVT::f32,
     OPC_Scope, 30, 
      OPC_CheckPatternPredicate, 13,
      OPC_Scope, 12, 
       OPC_CheckComplexPat, /*CP*/6, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::LFS), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3, 
      12, 
       OPC_CheckComplexPat, /*CP*/2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::LFSX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3, 
      0, 
     30, 
      OPC_CheckPatternPredicate, 14,
      OPC_Scope, 12, 
       OPC_CheckComplexPat, /*CP*/7, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SPELWZ), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3, 
      12, 
       OPC_CheckComplexPat, /*CP*/8, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::SPELWZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3, 
      0, 
     14, 
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::PLFS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 3, 
     0, 
    79, MVT::f64,
     OPC_Scope, 30, 
      OPC_CheckPatternPredicate, 13,
      OPC_Scope, 12, 
       OPC_CheckComplexPat, /*CP*/6, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::LFD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3, 
      12, 
       OPC_CheckComplexPat, /*CP*/2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::LFDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3, 
      0, 
     30, 
      OPC_CheckPatternPredicate, 14,
      OPC_Scope, 12, 
       OPC_CheckComplexPat, /*CP*/7, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::EVLDD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3, 
      12, 
       OPC_CheckComplexPat, /*CP*/8, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::EVLDDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3, 
      0, 
     14, 
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::PLFD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
     0, 
    0,
   87, 
    OPC_CheckPredicate, 22,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::f64,
    OPC_Scope, 52, 
     OPC_CheckPatternPredicate, 13,
     OPC_Scope, 23, 
      OPC_CheckComplexPat, /*CP*/6, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LFS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 3, 
      OPC_EmitStringInteger, MVT::i32, PPC::F8RCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                    MVT::f64, 2, 4, 5, 
     23, 
      OPC_CheckComplexPat, /*CP*/2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LFSX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 3, 
      OPC_EmitStringInteger, MVT::i32, PPC::F8RCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                    MVT::f64, 2, 4, 5, 
     0, 
    25, 
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat, /*CP*/4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::PLFS), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f32, 2, 2, 3, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                   MVT::f64, 2, 4, 5, 
    0, 
   6|128,1, 
    OPC_CheckPredicate, 24,
    OPC_SwitchType , 63, MVT::v2i64,
     OPC_Scope, 14, 
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i64, 2, 2, 3, 
     30, 
      OPC_CheckPatternPredicate, 8,
      OPC_Scope, 12, 
       OPC_CheckComplexPat, /*CP*/3, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::LXV), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i64, 2, 2, 3, 
      12, 
       OPC_CheckComplexPat, /*CP*/2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i64, 2, 2, 3, 
      0, 
     14, 
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXV), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i64, 2, 2, 3, 
     0, 
    63, MVT::v4i32,
     OPC_Scope, 14, 
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVW4X), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 2, 3, 
     30, 
      OPC_CheckPatternPredicate, 8,
      OPC_Scope, 12, 
       OPC_CheckComplexPat, /*CP*/3, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::LXV), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i32, 2, 2, 3, 
      12, 
       OPC_CheckComplexPat, /*CP*/2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i32, 2, 2, 3, 
      0, 
     14, 
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXV), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 2, 3, 
     0, 
    0,
   0, 
  50, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckPredicate, 19,
   OPC_CheckPredicate, 24,
   OPC_SwitchType , 17, MVT::v4i32,
    OPC_CheckPatternPredicate, 11,
    OPC_CheckComplexPat, /*CP*/5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXVpc), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v4i32, 2, 2, 4, 
   17, MVT::v2i64,
    OPC_CheckPatternPredicate, 11,
    OPC_CheckComplexPat, /*CP*/5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXVpc), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v2i64, 2, 2, 4, 
   0,
  25|128,1, 
   OPC_RecordChild1,
   OPC_CheckPredicate, 19,
   OPC_CheckPredicate, 24,
   OPC_SwitchType , 14, MVT::v4i32,
    OPC_CheckPatternPredicate, 16,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LVX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v4i32, 2, 2, 3, 
   78, MVT::v2f64,
    OPC_Scope, 14, 
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v2f64, 2, 2, 3, 
    14, 
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v2f64, 2, 2, 3, 
    30, 
     OPC_CheckPatternPredicate, 8,
     OPC_Scope, 12, 
      OPC_CheckComplexPat, /*CP*/3, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::LXV), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2f64, 2, 2, 3, 
     12, 
      OPC_CheckComplexPat, /*CP*/2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2f64, 2, 2, 3, 
     0, 
    14, 
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat, /*CP*/4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXV), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v2f64, 2, 2, 3, 
    0, 
   48, MVT::v4f32,
    OPC_Scope, 30, 
     OPC_CheckPatternPredicate, 8,
     OPC_Scope, 12, 
      OPC_CheckComplexPat, /*CP*/3, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::LXV), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4f32, 2, 2, 3, 
     12, 
      OPC_CheckComplexPat, /*CP*/2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4f32, 2, 2, 3, 
     0, 
    14, 
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat, /*CP*/4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXV), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v4f32, 2, 2, 3, 
    0, 
   0,
  50, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckPredicate, 19,
   OPC_CheckPredicate, 24,
   OPC_SwitchType , 17, MVT::v4f32,
    OPC_CheckPatternPredicate, 11,
    OPC_CheckComplexPat, /*CP*/5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXVpc), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v4f32, 2, 2, 4, 
   17, MVT::v2f64,
    OPC_CheckPatternPredicate, 11,
    OPC_CheckComplexPat, /*CP*/5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXVpc), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v2f64, 2, 2, 4, 
   0,
  0, 
 40|128,2, TARGET_VAL(ISD::ATOMIC_LOAD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 93, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 62, MVT::i32,
    OPC_Scope, 19, 
     OPC_CheckPredicate, 7,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZpc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 4, 
    19, 
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZpc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 4, 
    19, 
     OPC_CheckPredicate, 10,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWZpc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 4, 
    0, 
   19, MVT::i64,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 11,
    OPC_CheckComplexPat, /*CP*/5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::PLDpc), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i64, 2, 2, 4, 
   0,
  68|128,1, 
   OPC_RecordChild1,
   OPC_SwitchType , 45, MVT::i64,
    OPC_CheckPredicate, 26,
    OPC_Scope, 12, 
     OPC_CheckComplexPat, /*CP*/1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LD), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    12, 
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LDX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    14, 
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat, /*CP*/4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLD), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 2, 3, 
    0, 
   15|128,1, MVT::i32,
    OPC_Scope, 16, 
     OPC_CheckPredicate, 7,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat, /*CP*/4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3, 
    16, 
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat, /*CP*/4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZ), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3, 
    16, 
     OPC_CheckPredicate, 10,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat, /*CP*/4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWZ), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3, 
    14, 
     OPC_CheckPredicate, 7,
     OPC_CheckComplexPat, /*CP*/6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3, 
    14, 
     OPC_CheckPredicate, 8,
     OPC_CheckComplexPat, /*CP*/6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZ), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3, 
    14, 
     OPC_CheckPredicate, 10,
     OPC_CheckComplexPat, /*CP*/6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZ), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3, 
    14, 
     OPC_CheckPredicate, 7,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3, 
    14, 
     OPC_CheckPredicate, 8,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3, 
    14, 
     OPC_CheckPredicate, 10,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3, 
    0, 
   0,
  0, 
 110|128,2, TARGET_VAL(ISD::ATOMIC_STORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 31|128,1, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 64, 
    OPC_CheckChild2Type, MVT::i32,
    OPC_Scope, 19, 
     OPC_CheckPredicate, 7,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTBpc), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 5, 
    19, 
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTHpc), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 5, 
    19, 
     OPC_CheckPredicate, 10,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTWpc), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 5, 
    0, 
   84, 
    OPC_CheckChild2Type, MVT::i64,
    OPC_Scope, 19, 
     OPC_CheckPredicate, 7,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTB8pc), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 5, 
    19, 
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTH8pc), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 5, 
    19, 
     OPC_CheckPredicate, 10,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTW8pc), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 5, 
    19, 
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat, /*CP*/5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTDpc), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 5, 
    0, 
   0, 
  71|128,1, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 47, 
    OPC_CheckChild2Type, MVT::i64,
    OPC_CheckPredicate, 26,
    OPC_Scope, 12, 
     OPC_CheckComplexPat, /*CP*/1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STD), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 4, 
    12, 
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STDX), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 4, 
    14, 
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat, /*CP*/4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTD), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 4, 
    0, 
   17|128,1, 
    OPC_CheckChild2Type, MVT::i32,
    OPC_Scope, 16, 
     OPC_CheckPredicate, 7,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat, /*CP*/4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTB), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 4, 
    16, 
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat, /*CP*/4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTH), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 4, 
    16, 
     OPC_CheckPredicate, 10,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat, /*CP*/4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTW), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 4, 
    14, 
     OPC_CheckPredicate, 7,
     OPC_CheckComplexPat, /*CP*/6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STB), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 4, 
    14, 
     OPC_CheckPredicate, 8,
     OPC_CheckComplexPat, /*CP*/6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STH), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 4, 
    14, 
     OPC_CheckPredicate, 10,
     OPC_CheckComplexPat, /*CP*/6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STW), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 4, 
    14, 
     OPC_CheckPredicate, 7,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STBX), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 4, 
    14, 
     OPC_CheckPredicate, 8,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STHX), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 4, 
    14, 
     OPC_CheckPredicate, 10,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STWX), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 2, 3, 4, 
    0, 
   0, 
  0, 
 109|128,49, TARGET_VAL(ISD::XOR),
  OPC_Scope, 18|128,9, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 1|128,8, TARGET_VAL(ISD::SETCC),
    OPC_RecordChild0,
    OPC_Scope, 124|128,3, 
     OPC_CheckChild0Type, MVT::i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 33, 
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 22,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     33, 
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 22,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     33, 
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 22,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     67, 
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_Scope, 30, 
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 3, 
       OPC_CheckType, MVT::i1,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                     MVT::i32, 2, 0, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
      30, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 3, 
       OPC_CheckType, MVT::i1,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                     MVT::i32, 2, 0, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
      0, 
     67, 
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_Scope, 30, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 3, 
       OPC_CheckType, MVT::i1,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                     MVT::i32, 2, 0, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
      30, 
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 3, 
       OPC_CheckType, MVT::i1,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                     MVT::i32, 2, 0, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
      0, 
     33, 
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     33, 
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     67, 
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_Scope, 30, 
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 3, 
       OPC_CheckType, MVT::i1,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                     MVT::i32, 2, 0, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
      30, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 3, 
       OPC_CheckType, MVT::i1,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                     MVT::i32, 2, 0, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
      0, 
     33, 
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     90, 
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 39, 
       OPC_CheckPatternPredicate, 22,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNodeXForm, 0, 2,
       OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                     MVT::i32, 2, 0, 3, 
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNodeXForm, 1, 5,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                     MVT::i32, 2, 4, 6, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 7, 8, 
      39, 
       OPC_CheckPatternPredicate, 32,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNodeXForm, 0, 2,
       OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                     MVT::i32, 2, 0, 3, 
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNodeXForm, 1, 5,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                     MVT::i32, 2, 4, 6, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 7, 8, 
      0, 
     0, 
    126|128,3, 
     OPC_CheckChild0Type, MVT::i64,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 33, 
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 22,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     33, 
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 22,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     33, 
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 22,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     67, 
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_Scope, 30, 
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 3, 
       OPC_CheckType, MVT::i1,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                     MVT::i32, 2, 0, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
      30, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 3, 
       OPC_CheckType, MVT::i1,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                     MVT::i32, 2, 0, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
      0, 
     67, 
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_Scope, 30, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 3, 
       OPC_CheckType, MVT::i1,
       OPC_CheckPatternPredicate, 22,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                     MVT::i32, 2, 0, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
      30, 
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 3, 
       OPC_CheckType, MVT::i1,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                     MVT::i32, 2, 0, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
      0, 
     33, 
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     33, 
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     67, 
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_Scope, 30, 
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 3, 
       OPC_CheckType, MVT::i1,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                     MVT::i32, 2, 0, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
      30, 
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 3, 
       OPC_CheckType, MVT::i1,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                     MVT::i32, 2, 0, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 3, 4, 
      0, 
     33, 
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     92, 
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 39, 
       OPC_CheckPatternPredicate, 22,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNodeXForm, 0, 2,
       OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                     MVT::i64, 2, 0, 3, 
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNodeXForm, 1, 5,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                     MVT::i32, 2, 4, 6, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 7, 8, 
      39, 
       OPC_CheckPatternPredicate, 32,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNodeXForm, 0, 2,
       OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                     MVT::i64, 2, 0, 3, 
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNodeXForm, 1, 5,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                     MVT::i32, 2, 4, 6, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 7, 8, 
      0, 
     0, 
    0, 
   37, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 3, 
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::NAND), 0,
                   MVT::i32, 2, 0, 1, 
    8, MVT::i1,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNAND), 0,
                   MVT::i1, 2, 0, 1, 
    8, MVT::i64,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::NAND8), 0,
                   MVT::i64, 2, 0, 1, 
    0,
   37, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 3, 
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::NOR), 0,
                   MVT::i32, 2, 0, 1, 
    8, MVT::i1,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOR), 0,
                   MVT::i1, 2, 0, 1, 
    8, MVT::i64,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::NOR8), 0,
                   MVT::i64, 2, 0, 1, 
    0,
   55, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_Scope, 36, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 3, 
     OPC_SwitchType , 8, MVT::i32,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::EQV), 0,
                    MVT::i32, 2, 0, 1, 
     8, MVT::i1,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::CREQV), 0,
                    MVT::i1, 2, 0, 1, 
     8, MVT::i64,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::EQV8), 0,
                    MVT::i64, 2, 0, 1, 
     0,
    14, 
     OPC_CheckChild1Integer, 3, 
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::EQV), 0,
                   MVT::i32, 2, 0, 1, 
    0, 
   0,
  19, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::EQV), 0,
                 MVT::i32, 2, 1, 0, 
  19, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::i1,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::CREQV), 0,
                 MVT::i1, 2, 0, 1, 
  19, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_CheckType, MVT::i1,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::CREQV), 0,
                 MVT::i1, 2, 1, 0, 
  19, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::EQV8), 0,
                 MVT::i64, 2, 0, 1, 
  19, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_CheckType, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::EQV8), 0,
                 MVT::i64, 2, 1, 0, 
  115|128,28, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 56|128,15, TARGET_VAL(ISD::SETCC),
    OPC_RecordChild0,
    OPC_Scope, 19|128,2, 
     OPC_CheckChild0Type, MVT::i32,
     OPC_RecordChild1,
     OPC_Scope, 53, 
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     53, 
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     53, 
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     53, 
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     53, 
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     0, 
    19|128,2, 
     OPC_CheckChild0Type, MVT::i64,
     OPC_RecordChild1,
     OPC_Scope, 53, 
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     53, 
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     53, 
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     53, 
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     53, 
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 22,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 32,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     0, 
    3|128,4, 
     OPC_CheckChild0Type, MVT::f32,
     OPC_RecordChild1,
     OPC_Scope, 75, 
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     75, 
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     75, 
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     75, 
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     75, 
      OPC_CheckChild2CondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     75, 
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     53, 
      OPC_CheckChild2CondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     0, 
    3|128,4, 
     OPC_CheckChild0Type, MVT::f64,
     OPC_RecordChild1,
     OPC_Scope, 75, 
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     75, 
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     75, 
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     75, 
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     75, 
      OPC_CheckChild2CondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     75, 
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     53, 
      OPC_CheckChild2CondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     0, 
    127|128,2, 
     OPC_CheckChild0Type, MVT::f128,
     OPC_RecordChild1,
     OPC_Scope, 53, 
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     53, 
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     53, 
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     53, 
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     53, 
      OPC_CheckChild2CondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     53, 
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     53, 
      OPC_CheckChild2CondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 33,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      21, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                     MVT::i32, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 2, 3, 
      0, 
     0, 
    0, 
   40|128,5, TARGET_VAL(ISD::STRICT_FSETCC),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_Scope, 95|128,1, 
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 30, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     0, 
    95|128,1, 
     OPC_CheckChild1Type, MVT::f64,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 30, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     0, 
    95|128,1, 
     OPC_CheckChild1Type, MVT::f128,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 30, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     0, 
    0, 
   96|128,7, TARGET_VAL(ISD::STRICT_FSETCCS),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_Scope, 123|128,2, 
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 56, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 22, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      22, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      0, 
     56, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 22, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      22, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      0, 
     56, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 22, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      22, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      0, 
     56, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 22, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      22, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      0, 
     56, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 22, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      22, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      0, 
     56, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 22, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      22, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      0, 
     30, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     0, 
    123|128,2, 
     OPC_CheckChild1Type, MVT::f64,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 56, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 22, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      22, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      0, 
     56, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 22, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      22, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      0, 
     56, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 22, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      22, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      0, 
     56, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 22, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      22, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      0, 
     56, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 22, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      22, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      0, 
     56, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_Scope, 22, 
       OPC_CheckPatternPredicate, 13,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      22, 
       OPC_CheckPatternPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                     MVT::i32, 2, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                     MVT::i1, 2, 3, 4, 
      0, 
     30, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     0, 
    95|128,1, 
     OPC_CheckChild1Type, MVT::f128,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 30, 
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     30, 
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 3, 
      OPC_CheckType, MVT::i1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                    MVT::i32, 2, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                    MVT::i1, 2, 3, 4, 
     0, 
    0, 
   33, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_Scope, 14, 
     OPC_CheckChild0Type, MVT::i32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 3, 
     OPC_CheckType, MVT::i1,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::ANDI_rec_1_EQ_BIT), 0,
                   MVT::i1, 1, 0, 
    14, 
     OPC_CheckChild0Type, MVT::i64,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 3, 
     OPC_CheckType, MVT::i1,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::ANDI_rec_1_EQ_BIT8), 0,
                   MVT::i1, 1, 0, 
    0, 
   0,
  60|128,1, 
   OPC_RecordChild0,
   OPC_Scope, 33, 
    OPC_CheckChild1Integer, 3, 
    OPC_SwitchType , 7, MVT::i1,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 0, 
    8, MVT::i32,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::NOR), 0,
                   MVT::i32, 2, 0, 0, 
    8, MVT::i64,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::NOR8), 0,
                   MVT::i64, 2, 0, 0, 
    0,
   21|128,1, 
    OPC_RecordChild1,
    OPC_Scope, 112, 
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 18, 
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 1, 2,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XORI), 0,
                    MVT::i32, 2, 0, 3, 
     18, 
      OPC_CheckPredicate, 27,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XORIS), 0,
                    MVT::i32, 2, 0, 3, 
     18, 
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 1, 2,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XORI8), 0,
                    MVT::i64, 2, 0, 3, 
     18, 
      OPC_CheckPredicate, 27,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XORIS8), 0,
                    MVT::i64, 2, 0, 3, 
     29, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 1, 2,
      OPC_EmitNode1, TARGET_VAL(PPC::XORI), 0,
                    MVT::i32, 2, 0, 3, 
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 0, 5,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XORIS), 0,
                    MVT::i32, 2, 4, 6, 
     0, 
    10, 
     OPC_CheckType, MVT::i32,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XOR), 0,
                   MVT::i32, 2, 0, 1, 
    10, 
     OPC_CheckType, MVT::i1,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRXOR), 0,
                   MVT::i1, 2, 0, 1, 
    10, 
     OPC_CheckType, MVT::i64,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XOR8), 0,
                   MVT::i64, 2, 0, 1, 
    0, 
   0, 
  87|128,3, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 85|128,1, TARGET_VAL(ISD::AND),
    OPC_Scope, 88, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 25, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 124|128,3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 0, 1, 2, 3, 
     25, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 114|128,3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 0, 1, 2, 3, 
     25, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 112|128,3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 0, 1, 2, 3, 
     0,
    90, 
     OPC_MoveChild0,
     OPC_SwitchOpcode , 26, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 124|128,3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 0, 1, 2, 3, 
     26, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 114|128,3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 2, 0, 1, 3, 
     26, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 112|128,3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 2, 0, 1, 3, 
     0,
    30, 
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 66|128,3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 2, 0, 1, 3, 
    0, 
   28|128,1, TARGET_VAL(ISD::XOR),
    OPC_Scope, 60, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 25, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 66|128,3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 0, 1, 2, 3, 
     25, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 14|128,2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 0, 1, 2, 3, 
     0,
    30, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 66|128,3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 2, 0, 1, 3, 
    30, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 66|128,3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    30, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 66|128,3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 2, 0, 1, 3, 
    0, 
   88, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 25, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 0|128,2, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    25, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 64|128,3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    25, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 32|128,2, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    0,
   0,
  34, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitInteger, MVT::i32, 66|128,3, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                 MVT::v4i32, 4, 0, 1, 2, 3, 
  6|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 95, TARGET_VAL(ISD::XOR),
    OPC_Scope, 30, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 14|128,2, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 2, 0, 1, 3, 
    30, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 14|128,2, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    30, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 14|128,2, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 2, 0, 1, 3, 
    0, 
   30, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 14|128,2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 2, 0, 1, 3, 
   0,
  34, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitInteger, MVT::i32, 14|128,2, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                 MVT::v4i32, 4, 0, 1, 2, 3, 
  53|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 112, TARGET_VAL(ISD::OR),
    OPC_Scope, 90, 
     OPC_MoveChild0,
     OPC_SwitchOpcode , 26, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 0|128,2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 0, 1, 2, 3, 
     26, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 64|128,3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 2, 0, 1, 3, 
     26, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 32|128,2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 2, 0, 1, 3, 
     0,
    18, 
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLNOR), 0,
                   MVT::v4i32, 2, 0, 1, 
    0, 
   39, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_Scope, 17, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLEQV), 0,
                   MVT::v4i32, 2, 0, 1, 
    17, 
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLEQV), 0,
                   MVT::v4i32, 2, 0, 1, 
    0, 
   18, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLNAND), 0,
                  MVT::v4i32, 2, 0, 1, 
   0,
  114, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_Scope, 20, 
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLEQV), 0,
                  MVT::v4i32, 2, 1, 0, 
   14, 
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLNOR), 0,
                  MVT::v4i32, 2, 0, 0, 
   24, 
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 82|128,1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, 
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   24, 
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 112|128,1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   0, 
  77, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 22, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 82|128,1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   21, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 2, 0, 1, 3, 
   22, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 112|128,1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 2, 0, 1, 3, 
   0,
  14, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLXOR), 0,
                 MVT::v4i32, 2, 0, 1, 
  87, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 18, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VNOR), 0,
                  MVT::v4i32, 2, 0, 1, 
   39, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_Scope, 17, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 50,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VEQV), 0,
                   MVT::v4i32, 2, 0, 1, 
    17, 
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 50,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VEQV), 0,
                   MVT::v4i32, 2, 0, 1, 
    0, 
   18, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VNAND), 0,
                  MVT::v4i32, 2, 0, 1, 
   0,
  57, 
   OPC_RecordChild0,
   OPC_Scope, 39, 
    OPC_MoveChild1,
    OPC_Scope, 20, 
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 50,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VEQV), 0,
                   MVT::v4i32, 2, 1, 0, 
    14, 
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VNOR), 0,
                   MVT::v4i32, 2, 0, 0, 
    0, 
   13, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VXOR), 0,
                  MVT::v4i32, 2, 0, 1, 
   0, 
  0, 
 93|128,5, TARGET_VAL(ISD::ADD),
  OPC_Scope, 33|128,1, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 31, TARGET_VAL(PPCISD::Lo),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0, 
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LA), 0,
                   MVT::i32, 2, 0, 1, 
    8, MVT::i64,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LA8), 0,
                   MVT::i64, 2, 0, 1, 
    0,
   120, TARGET_VAL(PPCISD::Hi),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 26, TARGET_VAL(ISD::TargetGlobalAddress),
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::i32,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS), 0,
                    MVT::i32, 2, 0, 1, 
     8, MVT::i64,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS8), 0,
                    MVT::i64, 2, 0, 1, 
     0,
    26, TARGET_VAL(ISD::TargetConstantPool),
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::i32,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS), 0,
                    MVT::i32, 2, 0, 1, 
     8, MVT::i64,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS8), 0,
                    MVT::i64, 2, 0, 1, 
     0,
    26, TARGET_VAL(ISD::TargetJumpTable),
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::i32,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS), 0,
                    MVT::i32, 2, 0, 1, 
     8, MVT::i64,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS8), 0,
                    MVT::i64, 2, 0, 1, 
     0,
    26, TARGET_VAL(ISD::TargetBlockAddress),
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::i32,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS), 0,
                    MVT::i32, 2, 0, 1, 
     8, MVT::i64,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS8), 0,
                    MVT::i64, 2, 0, 1, 
     0,
    0,
   0,
  76|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 32, TARGET_VAL(PPCISD::Lo),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0, 
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LA), 0,
                   MVT::i32, 2, 1, 0, 
    8, MVT::i64,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::LA8), 0,
                   MVT::i64, 2, 1, 0, 
    0,
   124, TARGET_VAL(PPCISD::Hi),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 27, TARGET_VAL(ISD::TargetGlobalAddress),
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 8, MVT::i32,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS), 0,
                    MVT::i32, 2, 1, 0, 
     8, MVT::i64,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS8), 0,
                    MVT::i64, 2, 1, 0, 
     0,
    27, TARGET_VAL(ISD::TargetConstantPool),
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 8, MVT::i32,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS), 0,
                    MVT::i32, 2, 1, 0, 
     8, MVT::i64,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS8), 0,
                    MVT::i64, 2, 1, 0, 
     0,
    27, TARGET_VAL(ISD::TargetJumpTable),
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 8, MVT::i32,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS), 0,
                    MVT::i32, 2, 1, 0, 
     8, MVT::i64,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS8), 0,
                    MVT::i64, 2, 1, 0, 
     0,
    27, TARGET_VAL(ISD::TargetBlockAddress),
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 8, MVT::i32,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS), 0,
                    MVT::i32, 2, 1, 0, 
     8, MVT::i64,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS8), 0,
                    MVT::i64, 2, 1, 0, 
     0,
    0,
   36, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate, 28,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate, 28,
    OPC_SwitchType , 11, MVT::i32,
     OPC_CheckPatternPredicate, 46,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MADDLD), 0,
                   MVT::i32, 3, 0, 1, 2, 
    11, MVT::i64,
     OPC_CheckPatternPredicate, 46,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MADDLD8), 0,
                   MVT::i64, 3, 0, 1, 2, 
    0,
   0,
  121|128,1, 
   OPC_RecordChild0,
   OPC_Scope, 39, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate, 28,
    OPC_MoveParent,
    OPC_CheckPredicate, 28,
    OPC_SwitchType , 11, MVT::i32,
     OPC_CheckPatternPredicate, 46,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MADDLD), 0,
                   MVT::i32, 3, 1, 2, 0, 
    11, MVT::i64,
     OPC_CheckPatternPredicate, 46,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MADDLD8), 0,
                   MVT::i64, 3, 1, 2, 0, 
    0,
   105, 
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 72, TARGET_VAL(ISD::Constant),
     OPC_Scope, 15, 
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_EmitConvertToTarget, 1,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDI), 0,
                    MVT::i32, 2, 0, 2, 
     18, 
      OPC_CheckPredicate, 29,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS), 0,
                    MVT::i32, 2, 0, 3, 
     15, 
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_EmitConvertToTarget, 1,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDI8), 0,
                    MVT::i64, 2, 0, 2, 
     18, 
      OPC_CheckPredicate, 29,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 0, 2,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS8), 0,
                    MVT::i64, 2, 0, 3, 
     0, 
    23, TARGET_VAL(ISD::TargetGlobalTLSAddress),
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::i32,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADD4TLS), 0,
                    MVT::i32, 2, 0, 1, 
     8, MVT::i64,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADD8TLS), 0,
                    MVT::i64, 2, 0, 1, 
     0,
    0,
   28, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::ADD4TLS), 0,
                   MVT::i32, 2, 1, 0, 
    8, MVT::i64,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::ADD8TLS), 0,
                   MVT::i64, 2, 1, 0, 
    0,
   70, 
    OPC_RecordChild1,
    OPC_Scope, 33, 
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 1, 2,
     OPC_EmitNode1, TARGET_VAL(PPC::ADDI), 0,
                   MVT::i32, 2, 0, 3, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 3, 5,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS), 0,
                   MVT::i32, 2, 4, 6, 
    10, 
     OPC_CheckType, MVT::i32,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::ADD4), 0,
                   MVT::i32, 2, 0, 1, 
    10, 
     OPC_CheckType, MVT::i64,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::ADD8), 0,
                   MVT::i64, 2, 0, 1, 
    10, 
     OPC_CheckType, MVT::i1,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRXOR), 0,
                   MVT::i1, 2, 0, 1, 
    0, 
   0, 
  21, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMLADDUHM), 0,
                 MVT::v8i16, 3, 0, 1, 2, 
  88, 
   OPC_RecordChild0,
   OPC_Scope, 20, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VMLADDUHM), 0,
                  MVT::v8i16, 3, 1, 2, 0, 
   63, 
    OPC_RecordChild1,
    OPC_SwitchType , 10, MVT::v16i8,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDUBM), 0,
                   MVT::v16i8, 2, 0, 1, 
    10, MVT::v8i16,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDUHM), 0,
                   MVT::v8i16, 2, 0, 1, 
    10, MVT::v4i32,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDUWM), 0,
                   MVT::v4i32, 2, 0, 1, 
    10, MVT::v2i64,
     OPC_CheckPatternPredicate, 50,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDUDM), 0,
                   MVT::v2i64, 2, 0, 1, 
    10, MVT::v1i128,
     OPC_CheckPatternPredicate, 50,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDUQM), 0,
                   MVT::v1i128, 2, 0, 1, 
    0,
   0, 
  0, 
 79, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 53, MVT::i32,
   OPC_Scope, 16, 
    OPC_CheckPredicate, 7,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_ADD_I8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_ADD_I16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 10,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   0, 
  16, MVT::i64,
   OPC_CheckPredicate, 26,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::i64, MVT::i32, 3, 3, 4, 2, 
  0,
 79, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 53, MVT::i32,
   OPC_Scope, 16, 
    OPC_CheckPredicate, 7,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_SUB_I8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_SUB_I16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 10,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   0, 
  16, MVT::i64,
   OPC_CheckPredicate, 26,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::i64, MVT::i32, 3, 3, 4, 2, 
  0,
 79, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 53, MVT::i32,
   OPC_Scope, 16, 
    OPC_CheckPredicate, 7,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_AND_I8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_AND_I16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 10,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   0, 
  16, MVT::i64,
   OPC_CheckPredicate, 26,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::i64, MVT::i32, 3, 3, 4, 2, 
  0,
 79, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 53, MVT::i32,
   OPC_Scope, 16, 
    OPC_CheckPredicate, 7,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_OR_I8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_OR_I16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 10,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   0, 
  16, MVT::i64,
   OPC_CheckPredicate, 26,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::i64, MVT::i32, 3, 3, 4, 2, 
  0,
 79, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 53, MVT::i32,
   OPC_Scope, 16, 
    OPC_CheckPredicate, 7,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_XOR_I8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_XOR_I16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 10,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   0, 
  16, MVT::i64,
   OPC_CheckPredicate, 26,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::i64, MVT::i32, 3, 3, 4, 2, 
  0,
 79, TARGET_VAL(ISD::ATOMIC_LOAD_NAND),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 53, MVT::i32,
   OPC_Scope, 16, 
    OPC_CheckPredicate, 7,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_NAND_I8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_NAND_I16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 10,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_NAND_I32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   0, 
  16, MVT::i64,
   OPC_CheckPredicate, 26,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_NAND_I64), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::i64, MVT::i32, 3, 3, 4, 2, 
  0,
 79, TARGET_VAL(ISD::ATOMIC_LOAD_MIN),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 53, MVT::i32,
   OPC_Scope, 16, 
    OPC_CheckPredicate, 7,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_MIN_I8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_MIN_I16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 10,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_MIN_I32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   0, 
  16, MVT::i64,
   OPC_CheckPredicate, 26,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_MIN_I64), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::i64, MVT::i32, 3, 3, 4, 2, 
  0,
 79, TARGET_VAL(ISD::ATOMIC_LOAD_MAX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 53, MVT::i32,
   OPC_Scope, 16, 
    OPC_CheckPredicate, 7,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_MAX_I8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_MAX_I16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 10,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_MAX_I32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   0, 
  16, MVT::i64,
   OPC_CheckPredicate, 26,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_MAX_I64), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::i64, MVT::i32, 3, 3, 4, 2, 
  0,
 79, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 53, MVT::i32,
   OPC_Scope, 16, 
    OPC_CheckPredicate, 7,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_UMIN_I8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_UMIN_I16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 10,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_UMIN_I32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   0, 
  16, MVT::i64,
   OPC_CheckPredicate, 26,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_UMIN_I64), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::i64, MVT::i32, 3, 3, 4, 2, 
  0,
 79, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 53, MVT::i32,
   OPC_Scope, 16, 
    OPC_CheckPredicate, 7,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_UMAX_I8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_UMAX_I16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 10,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_UMAX_I32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   0, 
  16, MVT::i64,
   OPC_CheckPredicate, 26,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_UMAX_I64), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::i64, MVT::i32, 3, 3, 4, 2, 
  0,
 84, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_SwitchType , 56, MVT::i32,
   OPC_Scope, 17, 
    OPC_CheckPredicate, 7,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_CMP_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 4, 4, 5, 2, 3, 
   17, 
    OPC_CheckPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_CMP_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 4, 4, 5, 2, 3, 
   17, 
    OPC_CheckPredicate, 10,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_CMP_SWAP_I32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 4, 4, 5, 2, 3, 
   0, 
  17, MVT::i64,
   OPC_CheckPredicate, 26,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_CMP_SWAP_I64), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::i64, MVT::i32, 4, 4, 5, 2, 3, 
  0,
 79, TARGET_VAL(ISD::ATOMIC_SWAP),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 53, MVT::i32,
   OPC_Scope, 16, 
    OPC_CheckPredicate, 7,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   16, 
    OPC_CheckPredicate, 10,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_SWAP_I32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 3, 3, 4, 2, 
   0, 
  16, MVT::i64,
   OPC_CheckPredicate, 26,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_SWAP_I64), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::i64, MVT::i32, 3, 3, 4, 2, 
  0,
 44, TARGET_VAL(PPCISD::DYNALLOC),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 18, MVT::i32,
   OPC_CheckChild1Type, MVT::i32,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::iPTR,
   OPC_CheckComplexPat, /*CP*/7, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::DYNALLOC), 0|OPFL_Chain,
                 MVT::i32, 3, 1, 3, 4, 
  18, MVT::i64,
   OPC_CheckChild1Type, MVT::i64,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::iPTR,
   OPC_CheckComplexPat, /*CP*/7, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::DYNALLOC8), 0|OPFL_Chain,
                 MVT::i64, 3, 1, 3, 4, 
  0,
 34, TARGET_VAL(PPCISD::DYNAREAOFFSET),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1Type, MVT::iPTR,
  OPC_SwitchType , 12, MVT::i32,
   OPC_CheckComplexPat, /*CP*/7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::DYNAREAOFFSET), 0|OPFL_Chain,
                 MVT::i32, 2, 2, 3, 
  12, MVT::i64,
   OPC_CheckComplexPat, /*CP*/7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::DYNAREAOFFSET8), 0|OPFL_Chain,
                 MVT::i64, 2, 2, 3, 
  0,
 37, TARGET_VAL(PPCISD::BCTRL_LOAD_TOC),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_CheckChild1Type, MVT::iPTR,
  OPC_Scope, 14, 
   OPC_CheckPatternPredicate, 60,
   OPC_CheckComplexPat, /*CP*/7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BCTRL_LWZinto_toc), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                 MVT::i32, 2, 2, 3, 
  14, 
   OPC_CheckPatternPredicate, 19,
   OPC_CheckComplexPat, /*CP*/13, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BCTRL8_LDinto_toc), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                 MVT::i64, 2, 2, 3, 
  0, 
 37, TARGET_VAL(PPCISD::BCTRL_LOAD_TOC_RM),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_CheckChild1Type, MVT::iPTR,
  OPC_Scope, 14, 
   OPC_CheckPatternPredicate, 60,
   OPC_CheckComplexPat, /*CP*/7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BCTRL_LWZinto_toc_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                 MVT::i32, 2, 2, 3, 
  14, 
   OPC_CheckPatternPredicate, 19,
   OPC_CheckComplexPat, /*CP*/13, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BCTRL8_LDinto_toc_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                 MVT::i64, 2, 2, 3, 
  0, 
 62, TARGET_VAL(PPCISD::LBRX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild2,
  OPC_Scope, 17, 
   OPC_CheckValueType, MVT::i16,
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LHBRX), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::i32, 2, 2, 3, 
  17, 
   OPC_CheckValueType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LWBRX), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::i32, 2, 2, 3, 
  19, 
   OPC_CheckValueType, MVT::i64,
   OPC_MoveParent,
   OPC_CheckType, MVT::i64,
   OPC_CheckPatternPredicate, 61,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LDBRX), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::i64, 2, 2, 3, 
  0, 
 65, TARGET_VAL(PPCISD::STBRX),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 38, 
   OPC_CheckChild1Type, MVT::i32,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_Scope, 15, 
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_CheckComplexPat, /*CP*/0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::STHBRX), 0|OPFL_Chain,
                  3, 1, 3, 4, 
   15, 
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckComplexPat, /*CP*/0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::STWBRX), 0|OPFL_Chain,
                  3, 1, 3, 4, 
   0, 
  21, 
   OPC_CheckChild1Type, MVT::i64,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_CheckValueType, MVT::i64,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 61,
   OPC_CheckComplexPat, /*CP*/0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STDBRX), 0|OPFL_Chain,
                 3, 1, 3, 4, 
  0, 
 19, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
  OPC_RecordChild0,
  OPC_CheckType, MVT::i64,
  OPC_CheckPatternPredicate, 11,
  OPC_CheckComplexPat, /*CP*/5, /*#*/0,
  OPC_EmitInteger, MVT::i32, 0, 
  OPC_MorphNodeTo1, TARGET_VAL(PPC::PADDI8pc), 0,
                MVT::i64, 2, 3, 1, 
 19, TARGET_VAL(PPCISD::TLS_DYNAMIC_MAT_PCREL_ADDR),
  OPC_RecordChild0,
  OPC_CheckType, MVT::i64,
  OPC_CheckPatternPredicate, 11,
  OPC_CheckComplexPat, /*CP*/5, /*#*/0,
  OPC_EmitInteger, MVT::i32, 0, 
  OPC_MorphNodeTo1, TARGET_VAL(PPC::PADDI8pc), 0,
                MVT::i64, 2, 3, 1, 
 44, TARGET_VAL(PPCISD::PROBED_ALLOCA),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 18, MVT::i32,
   OPC_CheckChild1Type, MVT::i32,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::iPTR,
   OPC_CheckComplexPat, /*CP*/7, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::PROBED_ALLOCA_32), 0|OPFL_Chain,
                 MVT::i32, 3, 1, 3, 4, 
  18, MVT::i64,
   OPC_CheckChild1Type, MVT::i64,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::iPTR,
   OPC_CheckComplexPat, /*CP*/7, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::PROBED_ALLOCA_64), 0|OPFL_Chain,
                 MVT::i64, 3, 1, 3, 4, 
  0,
 22, TARGET_VAL(PPCISD::ATOMIC_CMP_SWAP_8),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_CheckType, MVT::i32,
  OPC_CheckComplexPat, /*CP*/0, /*#*/1,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_CMP_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
                MVT::i32, MVT::i32, 4, 4, 5, 2, 3, 
 22, TARGET_VAL(PPCISD::ATOMIC_CMP_SWAP_16),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_CheckType, MVT::i32,
  OPC_CheckComplexPat, /*CP*/0, /*#*/1,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_CMP_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
                MVT::i32, MVT::i32, 4, 4, 5, 2, 3, 
 46, TARGET_VAL(ISD::BRCOND),
  OPC_RecordNode,
  OPC_Scope, 24, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_CheckType, MVT::i1,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::BCn), 0|OPFL_Chain,
                 2, 1, 2, 
  17, 
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::i1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::BC), 0|OPFL_Chain,
                 2, 1, 2, 
  0, 
 7|128,9, TARGET_VAL(ISD::AND),
  OPC_Scope, 41, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::ANDC), 0,
                  MVT::i32, 2, 0, 1, 
   8, MVT::i1,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
   8, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::ANDC8), 0,
                  MVT::i64, 2, 0, 1, 
   0,
  81, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 37, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 3, 
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::ANDC), 0,
                   MVT::i32, 2, 1, 0, 
    8, MVT::i1,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 1, 0, 
    8, MVT::i64,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::ANDC8), 0,
                   MVT::i64, 2, 1, 0, 
    0,
   35, TARGET_VAL(ISD::ROTL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 4, 3,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 5, 5,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWNM), 0,
                  MVT::i32, 4, 0, 1, 4, 6, 
   0,
  88|128,1, 
   OPC_RecordChild0,
   OPC_Scope, 123, 
    OPC_RecordChild1,
    OPC_Scope, 86, 
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 19, 
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 1, 2,
      OPC_MorphNodeTo2, TARGET_VAL(PPC::ANDI_rec), 0,
                    MVT::i32, MVT::i32, 2, 0, 3, 
     19, 
      OPC_CheckPredicate, 27,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 0, 2,
      OPC_MorphNodeTo2, TARGET_VAL(PPC::ANDIS_rec), 0,
                    MVT::i32, MVT::i32, 2, 0, 3, 
     19, 
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 1, 2,
      OPC_MorphNodeTo2, TARGET_VAL(PPC::ANDI8_rec), 0,
                    MVT::i64, MVT::i32, 2, 0, 3, 
     19, 
      OPC_CheckPredicate, 27,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 0, 2,
      OPC_MorphNodeTo2, TARGET_VAL(PPC::ANDIS8_rec), 0,
                    MVT::i64, MVT::i32, 2, 0, 3, 
     0, 
    10, 
     OPC_CheckType, MVT::i32,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::AND), 0,
                   MVT::i32, 2, 0, 1, 
    10, 
     OPC_CheckType, MVT::i1,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRAND), 0,
                   MVT::i1, 2, 0, 1, 
    10, 
     OPC_CheckType, MVT::i64,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::AND8), 0,
                   MVT::i64, 2, 0, 1, 
    0, 
   88, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 24, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 16, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    24, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 18, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    24, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    0,
   0, 
  116, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 79, 
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 21, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 64|128,1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    20, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 32, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    21, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 96|128,1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    0,
   29, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 16, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 2, 0, 1, 3, 
   0, 
  65, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 28, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 18, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   28, 
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 18, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 2, 1, 3, 
   0, 
  127|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 23|128,1, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_Scope, 24, 
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 18, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 2, 0, 1, 3, 
     24, 
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 18, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 2, 0, 1, 3, 
     0, 
    29, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 18, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 2, 1, 0, 3, 
    29, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 2, 0, 1, 3, 
    30, 
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 64|128,1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 2, 0, 1, 3, 
    0, 
   94, TARGET_VAL(ISD::AND),
    OPC_Scope, 29, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 32, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    61, 
     OPC_RecordChild0,
     OPC_Scope, 28, 
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 32, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 1, 0, 2, 3, 
     28, 
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 32, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 2, 0, 1, 3, 
     0, 
    0, 
   0,
  65, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 28, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 32, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 1, 2, 0, 3, 
   28, 
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 32, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 2, 1, 0, 3, 
   0, 
  34, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitInteger, MVT::i32, 96|128,1, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                 MVT::v4i32, 4, 2, 0, 1, 3, 
  22, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLANDC), 0,
                 MVT::v4i32, 2, 0, 1, 
  22, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLANDC), 0,
                 MVT::v4i32, 2, 1, 0, 
  73, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 20, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   20, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 12, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   20, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 14, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   0,
  75, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 21, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   21, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 12, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 2, 0, 1, 3, 
   21, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 14, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 2, 0, 1, 3, 
   0,
  39, 
   OPC_RecordChild0,
   OPC_Scope, 13, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLAND), 0,
                  MVT::v4i32, 2, 0, 1, 
   21, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VANDC), 0,
                  MVT::v4i32, 2, 0, 1, 
   0, 
  22, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VANDC), 0,
                 MVT::v4i32, 2, 1, 0, 
  14, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VAND), 0,
                 MVT::v4i32, 2, 0, 1, 
  0, 
 49|128,81, TARGET_VAL(ISD::OR),
  OPC_Scope, 41, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::ORC), 0,
                  MVT::i32, 2, 0, 1, 
   8, MVT::i1,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
   8, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::ORC8), 0,
                  MVT::i64, 2, 0, 1, 
   0,
  41, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::ORC), 0,
                  MVT::i32, 2, 1, 0, 
   8, MVT::i1,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
   8, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::ORC8), 0,
                  MVT::i64, 2, 1, 0, 
   0,
  22|128,1, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 112, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 18, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 1, 2,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::ORI), 0,
                   MVT::i32, 2, 0, 3, 
    18, 
     OPC_CheckPredicate, 27,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 0, 2,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::ORIS), 0,
                   MVT::i32, 2, 0, 3, 
    18, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 1, 2,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::ORI8), 0,
                   MVT::i64, 2, 0, 3, 
    18, 
     OPC_CheckPredicate, 27,
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 0, 2,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::ORIS8), 0,
                   MVT::i64, 2, 0, 3, 
    29, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 1, 2,
     OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                   MVT::i32, 2, 0, 3, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 0, 5,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::ORIS), 0,
                   MVT::i32, 2, 4, 6, 
    0, 
   10, 
    OPC_CheckType, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 0, 1, 
   10, 
    OPC_CheckType, MVT::i1,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CROR), 0,
                  MVT::i1, 2, 0, 1, 
   10, 
    OPC_CheckType, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::OR8), 0,
                  MVT::i64, 2, 0, 1, 
   0, 
  121|128,72, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 37|128,39, TARGET_VAL(ISD::AND),
    OPC_Scope, 51, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_CheckChild0Same, 0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 44|128,2, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    85|128,18, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_Scope, 64|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      0, 
     64|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      0, 
     64|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      0, 
     64|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      0, 
     64|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      0, 
     64|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      0, 
     0, 
    53|128,18, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_Scope, 64|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 2, 0, 3, 
      0, 
     64|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 1, 0, 3, 
      0, 
     64|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 1, 0, 2, 3, 
      0, 
     64|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 2, 0, 1, 3, 
      0, 
     64|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 1, 2, 3, 
      0, 
     34, 
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 44|128,2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 0, 1, 2, 3, 
     64|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      30, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      30, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      30, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      0, 
     66, 
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_Scope, 28, 
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      28, 
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitInteger, MVT::i32, 44|128,2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                     MVT::v4i32, 4, 0, 2, 1, 3, 
      0, 
     0, 
    53, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 17, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 15,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSEL), 0,
                    MVT::v4i32, 3, 1, 2, 0, 
     17, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 15,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSEL), 0,
                    MVT::v4i32, 3, 1, 2, 0, 
     0, 
    41|128,1, 
     OPC_RecordChild0,
     OPC_Scope, 52, 
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 17, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 15,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSEL), 0,
                     MVT::v4i32, 3, 0, 2, 1, 
      17, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 15,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSEL), 0,
                     MVT::v4i32, 3, 0, 2, 1, 
      0, 
     112, 
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 15,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSEL), 0,
                     MVT::v4i32, 3, 2, 0, 1, 
      25, 
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 15,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSEL), 0,
                     MVT::v4i32, 3, 2, 0, 1, 
      25, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 15,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSEL), 0,
                     MVT::v4i32, 3, 2, 1, 0, 
      25, 
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 15,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSEL), 0,
                     MVT::v4i32, 3, 2, 1, 0, 
      0, 
     0, 
    0, 
   73|128,33, TARGET_VAL(ISD::XOR),
    OPC_Scope, 116|128,32, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_Scope, 53|128,16, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 40|128,1, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       0, 
      40|128,1, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       0, 
      40|128,1, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       0, 
      40|128,1, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       0, 
      40|128,1, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       0, 
      40|128,1, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       0, 
      0, 
     53|128,16, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 40|128,1, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 2, 0, 3, 
       0, 
      40|128,1, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 1, 0, 3, 
       0, 
      40|128,1, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 1, 0, 2, 3, 
       0, 
      40|128,1, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 2, 0, 1, 3, 
       0, 
      40|128,1, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       0, 
      40|128,1, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       26, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       26, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       26, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 0,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       0, 
      58, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 24, 
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       24, 
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitInteger, MVT::i32, 44|128,2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                      MVT::v4i32, 4, 0, 2, 1, 3, 
       0, 
      0, 
     0, 
    80, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 21, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 110|128,3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 0, 1, 2, 3, 
     21, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 108|128,3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 0, 1, 2, 3, 
     21, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 98|128,3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                    MVT::v4i32, 4, 0, 1, 2, 3, 
     0,
    0, 
   0,
  92, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 25, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 62|128,2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   25, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 94|128,3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   25, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 30|128,2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   0,
  101, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 30, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 110|128,3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   63, 
    OPC_RecordChild0,
    OPC_Scope, 29, 
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 110|128,3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 1, 0, 2, 3, 
    29, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 110|128,3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 2, 0, 1, 3, 
    0, 
   0, 
  67, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 29, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 110|128,3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 1, 2, 0, 3, 
   29, 
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 110|128,3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 2, 1, 0, 3, 
   0, 
  69, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 30, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 108|128,3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 2, 0, 1, 3, 
   30, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 98|128,3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 2, 0, 1, 3, 
   0,
  67, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 29, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 62|128,2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   29, 
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 62|128,2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 2, 1, 3, 
   0, 
  31|128,1, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 59, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_Scope, 25, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 62|128,2, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 2, 0, 1, 3, 
    25, 
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 62|128,2, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 2, 0, 1, 3, 
    0, 
   30, 
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 62|128,2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 2, 1, 0, 3, 
   61, 
    OPC_MoveChild0,
    OPC_SwitchOpcode , 26, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 94|128,3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 2, 0, 1, 3, 
    26, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 30|128,2, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                   MVT::v4i32, 4, 2, 0, 1, 3, 
    0,
   0, 
  22, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLORC), 0,
                 MVT::v4i32, 2, 0, 1, 
  22, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLORC), 0,
                 MVT::v4i32, 2, 1, 0, 
  75, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 21, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 126|128,1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   20, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   21, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 94|128,1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   0,
  77, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 22, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 126|128,1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   21, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 2, 0, 1, 3, 
   22, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 94|128,1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXEVAL), 0,
                  MVT::v4i32, 4, 2, 0, 1, 3, 
   0,
  39, 
   OPC_RecordChild0,
   OPC_Scope, 13, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLOR), 0,
                  MVT::v4i32, 2, 0, 1, 
   21, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VORC), 0,
                  MVT::v4i32, 2, 0, 1, 
   0, 
  22, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VORC), 0,
                 MVT::v4i32, 2, 1, 0, 
  14, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VOR), 0,
                 MVT::v4i32, 2, 0, 1, 
  0, 
 7|128,1, TARGET_VAL(PPCISD::Hi),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_SwitchOpcode , 23, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_CheckChild1Integer, 0, 
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 0, 
   7, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LIS8), 0,
                  MVT::i64, 1, 0, 
   0,
  23, TARGET_VAL(ISD::TargetConstantPool),
   OPC_MoveParent,
   OPC_CheckChild1Integer, 0, 
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 0, 
   7, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LIS8), 0,
                  MVT::i64, 1, 0, 
   0,
  23, TARGET_VAL(ISD::TargetJumpTable),
   OPC_MoveParent,
   OPC_CheckChild1Integer, 0, 
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 0, 
   7, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LIS8), 0,
                  MVT::i64, 1, 0, 
   0,
  23, TARGET_VAL(ISD::TargetBlockAddress),
   OPC_MoveParent,
   OPC_CheckChild1Integer, 0, 
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 0, 
   7, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LIS8), 0,
                  MVT::i64, 1, 0, 
   0,
  24, TARGET_VAL(ISD::TargetGlobalTLSAddress),
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS), 0,
                  MVT::i32, 2, 1, 0, 
   8, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIS8), 0,
                  MVT::i64, 2, 1, 0, 
   0,
  0,
 7|128,1, TARGET_VAL(PPCISD::Lo),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_SwitchOpcode , 23, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_CheckChild1Integer, 0, 
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LI), 0,
                  MVT::i32, 1, 0, 
   7, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 0, 
   0,
  23, TARGET_VAL(ISD::TargetConstantPool),
   OPC_MoveParent,
   OPC_CheckChild1Integer, 0, 
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LI), 0,
                  MVT::i32, 1, 0, 
   7, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 0, 
   0,
  23, TARGET_VAL(ISD::TargetJumpTable),
   OPC_MoveParent,
   OPC_CheckChild1Integer, 0, 
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LI), 0,
                  MVT::i32, 1, 0, 
   7, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 0, 
   0,
  23, TARGET_VAL(ISD::TargetBlockAddress),
   OPC_MoveParent,
   OPC_CheckChild1Integer, 0, 
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LI), 0,
                  MVT::i32, 1, 0, 
   7, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 0, 
   0,
  24, TARGET_VAL(ISD::TargetGlobalTLSAddress),
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDI), 0,
                  MVT::i32, 2, 1, 0, 
   8, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDI8), 0,
                  MVT::i64, 2, 1, 0, 
   0,
  0,
 83, TARGET_VAL(ISD::ATOMIC_FENCE),
  OPC_RecordNode,
  OPC_Scope, 44, 
   OPC_CheckChild1Integer, 14, 
   OPC_Scope, 19, 
    OPC_CheckChild1Type, MVT::i64,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 23,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo0, TARGET_VAL(PPC::SYNC), 0|OPFL_Chain,
                  1, 1, 
   19, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 23,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo0, TARGET_VAL(PPC::SYNC), 0|OPFL_Chain,
                  1, 1, 
   0, 
  34, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_MorphNodeTo0, TARGET_VAL(PPC::SYNC), 0|OPFL_Chain,
                  1, 1, 
   8, 
    OPC_CheckPatternPredicate, 24,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::MSYNC), 0|OPFL_Chain,
                  0, 
   0, 
  0, 
 100|128,2, TARGET_VAL(ISD::SRL),
  OPC_Scope, 36, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 32, 
   OPC_CheckChild1Type, MVT::i32,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitNode1, TARGET_VAL(PPC::BRH), 0,
                 MVT::i32, 1, 0, 
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitInteger, MVT::i32, 96, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL_32), 0,
                 MVT::i32, 3, 1, 2, 3, 
  0|128,1, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 49, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_SwitchType , 20, MVT::i32,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 6, 2,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 62, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                   MVT::i32, 4, 0, 3, 4, 5, 
    16, MVT::i64,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 7, 2,
     OPC_EmitConvertToTarget, 1,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                   MVT::i64, 3, 0, 3, 4, 
    0,
   24, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SRW), 0,
                   MVT::i32, 2, 0, 1, 
    8, MVT::i64,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SRD), 0,
                   MVT::i64, 2, 0, 1, 
    0,
   48, 
    OPC_CheckChild1Type, MVT::v1i128,
    OPC_CheckType, MVT::v1i128,
    OPC_CheckPatternPredicate, 56,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v4i32, 3, 3, 5, 6, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRQ), 0,
                  MVT::v1i128, 2, 0, 7, 
   0, 
  92, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 51, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 31,
    OPC_SwitchType , 13, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VAVGUH), 0,
                   MVT::v8i16, 2, 0, 1, 
    13, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VAVGUB), 0,
                   MVT::v16i8, 2, 0, 1, 
    0,
   27, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 31,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VAVGUW), 0,
                  MVT::v4i32, 2, 0, 1, 
   0,
  93, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 12, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRB), 0,
                  MVT::v16i8, 2, 0, 1, 
   12, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRH), 0,
                  MVT::v8i16, 2, 0, 1, 
   12, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRW), 0,
                  MVT::v4i32, 2, 0, 1, 
   12, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRD), 0,
                  MVT::v2i64, 2, 0, 1, 
   31, MVT::v1i128,
    OPC_CheckChild1Type, MVT::v1i128,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitNode1, TARGET_VAL(PPC::VSRO), 0,
                  MVT::v16i8, 2, 0, 1, 
    OPC_EmitInteger, MVT::i32, 30, 
    OPC_EmitNode1, TARGET_VAL(PPC::VSPLTB), 0,
                  MVT::v16i8, 2, 3, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSR), 0,
                  MVT::v1i128, 2, 2, 4, 
   0,
  0, 
 79, TARGET_VAL(ISD::TRUNCATE),
  OPC_Scope, 33, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_SwitchType , 10, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::ANDI_rec_1_EQ_BIT), 0,
                  MVT::i1, 1, 0, 
   10, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::ANDI_rec_1_EQ_BIT8), 0,
                  MVT::i1, 1, 0, 
   0,
  42, 
   OPC_RecordChild0,
   OPC_Scope, 26, 
    OPC_CheckChild0Type, MVT::i64,
    OPC_SwitchType , 11, MVT::i32,
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 0, 1, 
    7, MVT::i1,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::ANDI_rec_1_GT_BIT8), 0,
                   MVT::i1, 1, 0, 
    0,
   11, 
    OPC_CheckChild0Type, MVT::i32,
    OPC_CheckType, MVT::i1,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::ANDI_rec_1_GT_BIT), 0,
                  MVT::i1, 1, 0, 
   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(PPC::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(PPC::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                2, 1, 2, 
 53|128,1, TARGET_VAL(PPCISD::TC_RETURN),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 8|128,1, 
   OPC_MoveChild1,
   OPC_SwitchOpcode , 44, TARGET_VAL(ISD::Constant),
    OPC_SwitchType , 19, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitConvertToTarget, 2,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::TCRETURNai), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                   2, 3, 4, 
    19, MVT::i64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitConvertToTarget, 2,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::TCRETURNai8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                   2, 3, 4, 
    0,
   40, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_SwitchType , 17, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::TCRETURNdi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                   2, 1, 3, 
    17, MVT::i64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::TCRETURNdi8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                   2, 1, 3, 
    0,
   40, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_SwitchType , 17, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::TCRETURNdi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                   2, 1, 3, 
    17, MVT::i64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::TCRETURNdi8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                   2, 1, 3, 
    0,
   0,
  18, 
   OPC_CheckChild1Type, MVT::i32,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget, 2,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::TCRETURNri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                 2, 1, 3, 
  18, 
   OPC_CheckChild1Type, MVT::i64,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget, 2,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::TCRETURNri8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                 2, 1, 3, 
  0, 
 28, TARGET_VAL(PPCISD::MFBHRBE),
  OPC_RecordNode,
  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_CheckType, MVT::i32,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitConvertToTarget, 1,
  OPC_EmitConvertToTarget, 2,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::MFBHRBE), 0|OPFL_Chain,
                MVT::i32, 2, 3, 4, 
 37, TARGET_VAL(PPCISD::ADDI_TLSGD_L_ADDR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
  OPC_MoveParent,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
  OPC_MoveParent,
  OPC_SwitchType , 9, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDItlsgdLADDR32), 0,
                 MVT::i32, 3, 0, 1, 2, 
  9, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDItlsgdLADDR), 0,
                 MVT::i64, 3, 0, 1, 2, 
  0,
 37, TARGET_VAL(PPCISD::ADDI_TLSLD_L_ADDR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
  OPC_MoveParent,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
  OPC_MoveParent,
  OPC_SwitchType , 9, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDItlsldLADDR32), 0,
                 MVT::i32, 3, 0, 1, 2, 
  9, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDItlsldLADDR), 0,
                 MVT::i64, 3, 0, 1, 2, 
  0,
 56, TARGET_VAL(PPCISD::ADD_TLS),
  OPC_RecordChild0,
  OPC_Scope, 23, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::TLS_LOCAL_EXEC_MAT_ADDR),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::i64,
   OPC_CheckPatternPredicate, 11,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::PADDI8), 0,
                 MVT::i64, 2, 0, 1, 
  28, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::ADD4TLS), 0,
                  MVT::i32, 2, 0, 1, 
   8, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::ADD8TLS), 0,
                  MVT::i64, 2, 0, 1, 
   0,
  0, 
 36, TARGET_VAL(PPCISD::EH_SJLJ_SETJMP),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckType, MVT::i32,
  OPC_Scope, 14, 
   OPC_CheckPatternPredicate, 60,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::EH_SjLj_SetJmp32), 0|OPFL_Chain,
                 MVT::i32, MVT::i32, 1, 2, 
  14, 
   OPC_CheckPatternPredicate, 19,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::EH_SjLj_SetJmp64), 0|OPFL_Chain,
                 MVT::i32, MVT::i64, 1, 2, 
  0, 
 30, TARGET_VAL(PPCISD::EH_SJLJ_LONGJMP),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 12, 
   OPC_CheckPatternPredicate, 60,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::EH_SjLj_LongJmp32), 0|OPFL_Chain,
                 1, 2, 
  12, 
   OPC_CheckPatternPredicate, 19,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::EH_SjLj_LongJmp64), 0|OPFL_Chain,
                 1, 2, 
  0, 
 73|128,1, TARGET_VAL(ISD::SUB),
  OPC_Scope, 23, 
   OPC_CheckChild0Integer, 0, 
   OPC_RecordChild1,
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::NEG), 0,
                  MVT::i32, 1, 0, 
   7, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::NEG8), 0,
                  MVT::i64, 1, 0, 
   0,
  80, 
   OPC_RecordChild0,
   OPC_Scope, 42, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 17, 
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_EmitConvertToTarget, 0,
     OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFIC), 0,
                   MVT::i32, MVT::i32, 2, 1, 2, 
    17, 
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i64,
     OPC_EmitConvertToTarget, 0,
     OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFIC8), 0,
                   MVT::i64, MVT::i32, 2, 1, 2, 
    0, 
   33, 
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SUBF), 0,
                   MVT::i32, 2, 1, 0, 
    8, MVT::i64,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SUBF8), 0,
                   MVT::i64, 2, 1, 0, 
    8, MVT::i1,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRXOR), 0,
                   MVT::i1, 2, 0, 1, 
    0,
   0, 
  28, 
   OPC_MoveChild0,
   OPC_CheckImmAllZerosV,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::v4i32,
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VNEGW), 0,
                  MVT::v4i32, 1, 0, 
   9, MVT::v2i64,
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VNEGD), 0,
                  MVT::v2i64, 1, 0, 
   0,
  64, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 10, MVT::v16i8,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBUBM), 0,
                  MVT::v16i8, 2, 0, 1, 
   10, MVT::v8i16,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBUHM), 0,
                  MVT::v8i16, 2, 0, 1, 
   10, MVT::v4i32,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBUWM), 0,
                  MVT::v4i32, 2, 0, 1, 
   10, MVT::v2i64,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBUDM), 0,
                  MVT::v2i64, 2, 0, 1, 
   10, MVT::v1i128,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBUQM), 0,
                  MVT::v1i128, 2, 0, 1, 
   0,
  0, 
 80, TARGET_VAL(ISD::ADDE),
  OPC_CaptureGlueInput,
  OPC_RecordChild0,
  OPC_Scope, 24, 
   OPC_CheckChild1Integer, 3, 
   OPC_SwitchType , 8, MVT::i32,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ADDME), 0|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i32, MVT::i32, 1, 0, 
   8, MVT::i64,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ADDME8), 0|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i64, MVT::i32, 1, 0, 
   0,
  24, 
   OPC_CheckChild1Integer, 0, 
   OPC_SwitchType , 8, MVT::i32,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ADDZE), 0|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i32, MVT::i32, 1, 0, 
   8, MVT::i64,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ADDZE8), 0|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i64, MVT::i32, 1, 0, 
   0,
  25, 
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::i32,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ADDE), 0|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i32, MVT::i32, 2, 0, 1, 
   9, MVT::i64,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ADDE8), 0|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i64, MVT::i32, 2, 0, 1, 
   0,
  0, 
 82, TARGET_VAL(ISD::SUBE),
  OPC_CaptureGlueInput,
  OPC_Scope, 25, 
   OPC_CheckChild0Integer, 3, 
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::i32,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFME), 0|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i32, MVT::i32, 1, 0, 
   8, MVT::i64,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFME8), 0|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i64, MVT::i32, 1, 0, 
   0,
  25, 
   OPC_CheckChild0Integer, 0, 
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::i32,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFZE), 0|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i32, MVT::i32, 1, 0, 
   8, MVT::i64,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFZE8), 0|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i64, MVT::i32, 1, 0, 
   0,
  26, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::i32,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFE), 0|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i32, MVT::i32, 2, 1, 0, 
   9, MVT::i64,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFE8), 0|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i64, MVT::i32, 2, 1, 0, 
   0,
  0, 
 43, TARGET_VAL(PPCISD::EXTRACT_SPE),
  OPC_RecordChild0,
  OPC_Scope, 15, 
   OPC_CheckChild1Integer, 0, 
   OPC_CheckPatternPredicate, 14,
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                 MVT::i32, 2, 0, 1, 
  23, 
   OPC_CheckChild1Integer, 2, 
   OPC_CheckPatternPredicate, 14,
   OPC_EmitNode1, TARGET_VAL(PPC::EVMERGEHI), 0,
                 MVT::f64, 2, 0, 0, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                 MVT::i32, 2, 1, 2, 
  0, 
 69, TARGET_VAL(ISD::ADDC),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 40, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 16, 
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_EmitConvertToTarget, 1,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ADDIC), 0|OPFL_GlueOutput,
                  MVT::i32, MVT::i32, 2, 0, 2, 
   16, 
    OPC_CheckPredicate, 14,
    OPC_MoveParent,
    OPC_CheckType, MVT::i64,
    OPC_EmitConvertToTarget, 1,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::ADDIC8), 0|OPFL_GlueOutput,
                  MVT::i64, MVT::i32, 2, 0, 2, 
   0, 
  11, 
   OPC_CheckType, MVT::i32,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::ADDC), 0|OPFL_GlueOutput,
                 MVT::i32, MVT::i32, 2, 0, 1, 
  11, 
   OPC_CheckType, MVT::i64,
   OPC_MorphNodeTo2, TARGET_VAL(PPC::ADDC8), 0|OPFL_GlueOutput,
                 MVT::i64, MVT::i32, 2, 0, 1, 
  0, 
 122, TARGET_VAL(ISD::MUL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 38, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 15, 
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_EmitConvertToTarget, 1,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::MULLI), 0,
                  MVT::i32, 2, 0, 2, 
   15, 
    OPC_CheckPredicate, 14,
    OPC_MoveParent,
    OPC_CheckType, MVT::i64,
    OPC_EmitConvertToTarget, 1,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::MULLI8), 0,
                  MVT::i64, 2, 0, 2, 
   0, 
  10, 
   OPC_CheckType, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MULLW), 0,
                 MVT::i32, 2, 0, 1, 
  10, 
   OPC_CheckType, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MULLD), 0,
                 MVT::i64, 2, 0, 1, 
  10, 
   OPC_CheckType, MVT::i1,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::CRAND), 0,
                 MVT::i1, 2, 0, 1, 
  12, 
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULUWM), 0,
                 MVT::v4i32, 2, 0, 1, 
  12, 
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULLD), 0,
                 MVT::v2i64, 2, 0, 1, 
  19, 
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitNode1, TARGET_VAL(PPC::V_SET0H), 0,
                 MVT::v8i16, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMLADDUHM), 0,
                 MVT::v8i16, 3, 0, 1, 2, 
  0, 
 72, TARGET_VAL(ISD::SUBC),
  OPC_RecordChild0,
  OPC_Scope, 42, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 17, 
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_EmitConvertToTarget, 0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFIC), 0|OPFL_GlueOutput,
                  MVT::i32, MVT::i32, 2, 1, 2, 
   17, 
    OPC_CheckPredicate, 14,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i64,
    OPC_EmitConvertToTarget, 0,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFIC8), 0|OPFL_GlueOutput,
                  MVT::i64, MVT::i32, 2, 1, 2, 
   0, 
  25, 
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::i32,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFC), 0|OPFL_GlueOutput,
                  MVT::i32, MVT::i32, 2, 1, 0, 
   9, MVT::i64,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFC8), 0|OPFL_GlueOutput,
                  MVT::i64, MVT::i32, 2, 1, 0, 
   0,
  0, 
 88|128,39, TARGET_VAL(ISD::SETCC),
  OPC_RecordChild0,
  OPC_Scope, 72|128,9, 
   OPC_CheckChild0Type, MVT::i32,
   OPC_RecordChild1,
   OPC_Scope, 4|128,6, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 28, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_CheckType, MVT::i1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
    28, 
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_CheckType, MVT::i1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
    28, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_CheckType, MVT::i1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
    55, 
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_CheckType, MVT::i1,
     OPC_Scope, 23, 
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     23, 
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     0, 
    64, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckType, MVT::i1,
     OPC_Scope, 23, 
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     32, 
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_CheckPatternPredicate, 22,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                    MVT::i1, 1, 5, 
     0, 
    37, 
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckType, MVT::i1,
     OPC_CheckPatternPredicate, 22,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
    37, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_CheckType, MVT::i1,
     OPC_CheckPatternPredicate, 22,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
    73, 
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_CheckType, MVT::i1,
     OPC_Scope, 32, 
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_CheckPatternPredicate, 22,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                    MVT::i1, 1, 5, 
     32, 
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_CheckPatternPredicate, 22,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                    MVT::i1, 1, 5, 
     0, 
    73, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckType, MVT::i1,
     OPC_Scope, 32, 
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_CheckPatternPredicate, 22,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                    MVT::i1, 1, 5, 
     32, 
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                    MVT::i1, 1, 5, 
     0, 
    37, 
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckType, MVT::i1,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
    37, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_CheckType, MVT::i1,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
    73, 
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_CheckType, MVT::i1,
     OPC_Scope, 32, 
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                    MVT::i1, 1, 5, 
     32, 
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPWI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                    MVT::i1, 1, 5, 
     0, 
    37, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_CheckType, MVT::i1,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
    16|128,1, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i1,
     OPC_Scope, 39, 
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 0, 2,
      OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                    MVT::i32, 2, 0, 3, 
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 1, 5,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                    MVT::i32, 2, 4, 6, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 7, 8, 
     98, 
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_Scope, 46, 
       OPC_CheckPatternPredicate, 22,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNodeXForm, 0, 2,
       OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                     MVT::i32, 2, 0, 3, 
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNodeXForm, 1, 5,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                     MVT::i32, 2, 4, 6, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 7, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                     MVT::i1, 1, 9, 
      46, 
       OPC_CheckPatternPredicate, 32,
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNodeXForm, 0, 2,
       OPC_EmitNode1, TARGET_VAL(PPC::XORIS), 0,
                     MVT::i32, 2, 0, 3, 
       OPC_EmitConvertToTarget, 1,
       OPC_EmitNodeXForm, 1, 5,
       OPC_EmitNode1, TARGET_VAL(PPC::CMPLWI), 0,
                     MVT::i32, 2, 4, 6, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::i1, 2, 7, 8, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                     MVT::i1, 1, 9, 
      0, 
     0, 
    0, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_CheckType, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_CheckType, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETUGT,
    OPC_CheckType, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETGT,
    OPC_CheckType, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_CheckType, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   64, 
    OPC_CheckChild2CondCode, ISD::SETUGE,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 22,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 32,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   64, 
    OPC_CheckChild2CondCode, ISD::SETGE,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 22,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 32,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   64, 
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 22,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 32,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLW), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   64, 
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 22,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 32,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   64, 
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 22,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 32,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPW), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   0, 
  77|128,9, 
   OPC_CheckChild0Type, MVT::i64,
   OPC_RecordChild1,
   OPC_Scope, 9|128,6, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 28, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_CheckType, MVT::i1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
    28, 
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_CheckType, MVT::i1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
    28, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_CheckType, MVT::i1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
    55, 
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_CheckType, MVT::i1,
     OPC_Scope, 23, 
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     23, 
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     0, 
    64, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckType, MVT::i1,
     OPC_Scope, 23, 
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
     32, 
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_CheckPatternPredicate, 22,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                    MVT::i1, 1, 5, 
     0, 
    37, 
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckType, MVT::i1,
     OPC_CheckPatternPredicate, 22,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
    37, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_CheckType, MVT::i1,
     OPC_CheckPatternPredicate, 22,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
    73, 
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_CheckType, MVT::i1,
     OPC_Scope, 32, 
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_CheckPatternPredicate, 22,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                    MVT::i1, 1, 5, 
     32, 
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_CheckPatternPredicate, 22,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                    MVT::i1, 1, 5, 
     0, 
    37, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_CheckType, MVT::i1,
     OPC_CheckPatternPredicate, 22,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
    44, 
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_CheckType, MVT::i1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 0, 2,
     OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                   MVT::i64, 2, 0, 3, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 1, 5,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                   MVT::i32, 2, 4, 6, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 7, 8, 
    37, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETUGE,
     OPC_CheckType, MVT::i1,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
    37, 
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckType, MVT::i1,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
    37, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_CheckType, MVT::i1,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
    73, 
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_CheckType, MVT::i1,
     OPC_Scope, 32, 
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                    MVT::i1, 1, 5, 
     32, 
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPDI), 0,
                    MVT::i32, 2, 0, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                    MVT::i1, 1, 5, 
     0, 
    37, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_CheckType, MVT::i1,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
    103, 
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_CheckType, MVT::i1,
     OPC_Scope, 46, 
      OPC_CheckPatternPredicate, 22,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 0, 2,
      OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                    MVT::i64, 2, 0, 3, 
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 1, 5,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                    MVT::i32, 2, 4, 6, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 7, 8, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                    MVT::i1, 1, 9, 
     46, 
      OPC_CheckPatternPredicate, 32,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 0, 2,
      OPC_EmitNode1, TARGET_VAL(PPC::XORIS8), 0,
                    MVT::i64, 2, 0, 3, 
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 1, 5,
      OPC_EmitNode1, TARGET_VAL(PPC::CMPLDI), 0,
                    MVT::i32, 2, 4, 6, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i1, 2, 7, 8, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                    MVT::i1, 1, 9, 
     0, 
    0, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_CheckType, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_CheckType, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETUGT,
    OPC_CheckType, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETGT,
    OPC_CheckType, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_CheckType, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   64, 
    OPC_CheckChild2CondCode, ISD::SETUGE,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 22,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 32,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   64, 
    OPC_CheckChild2CondCode, ISD::SETGE,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 22,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 32,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   64, 
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 22,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 32,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPLD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   64, 
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 22,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 32,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   64, 
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 22,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 32,
     OPC_EmitNode1, TARGET_VAL(PPC::CMPD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   0, 
  117, 
   OPC_CheckChild0Type, MVT::i1,
   OPC_RecordChild1,
   OPC_CheckType, MVT::i1,
   OPC_Scope, 10, 
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
   10, 
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 1, 0, 
   10, 
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
   10, 
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
   10, 
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CREQV), 0,
                  MVT::i1, 2, 0, 1, 
   10, 
    OPC_CheckChild2CondCode, ISD::SETGE,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
   10, 
    OPC_CheckChild2CondCode, ISD::SETUGE,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
   10, 
    OPC_CheckChild2CondCode, ISD::SETGT,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 1, 0, 
   10, 
    OPC_CheckChild2CondCode, ISD::SETUGT,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
   10, 
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CRXOR), 0,
                  MVT::i1, 2, 0, 1, 
   0, 
  44|128,7, 
   OPC_CheckChild0Type, MVT::f32,
   OPC_RecordChild1,
   OPC_CheckType, MVT::i1,
   OPC_Scope, 48, 
    OPC_CheckChild2CondCode, ISD::SETOLT,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    21, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    0, 
   48, 
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    21, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    0, 
   48, 
    OPC_CheckChild2CondCode, ISD::SETOGT,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    21, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    0, 
   48, 
    OPC_CheckChild2CondCode, ISD::SETGT,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    21, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    0, 
   48, 
    OPC_CheckChild2CondCode, ISD::SETOEQ,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    21, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    0, 
   48, 
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    21, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    0, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETUO,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   91, 
    OPC_CheckChild2CondCode, ISD::SETUGE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   91, 
    OPC_CheckChild2CondCode, ISD::SETGE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   91, 
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   91, 
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   91, 
    OPC_CheckChild2CondCode, ISD::SETUNE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   91, 
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   62, 
    OPC_CheckChild2CondCode, ISD::SETO,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   0, 
  44|128,7, 
   OPC_CheckChild0Type, MVT::f64,
   OPC_RecordChild1,
   OPC_CheckType, MVT::i1,
   OPC_Scope, 48, 
    OPC_CheckChild2CondCode, ISD::SETOLT,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    21, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    0, 
   48, 
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    21, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    0, 
   48, 
    OPC_CheckChild2CondCode, ISD::SETOGT,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    21, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    0, 
   48, 
    OPC_CheckChild2CondCode, ISD::SETGT,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    21, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    0, 
   48, 
    OPC_CheckChild2CondCode, ISD::SETOEQ,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    21, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    0, 
   48, 
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    21, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
    0, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETUO,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   91, 
    OPC_CheckChild2CondCode, ISD::SETUGE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   91, 
    OPC_CheckChild2CondCode, ISD::SETGE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   91, 
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   91, 
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   91, 
    OPC_CheckChild2CondCode, ISD::SETUNE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   91, 
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   62, 
    OPC_CheckChild2CondCode, ISD::SETO,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   0, 
  104|128,4, 
   OPC_CheckChild0Type, MVT::f128,
   OPC_RecordChild1,
   OPC_CheckType, MVT::i1,
   OPC_Scope, 23, 
    OPC_CheckChild2CondCode, ISD::SETOLT,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETLT,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETOGT,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETGT,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETOEQ,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   23, 
    OPC_CheckChild2CondCode, ISD::SETUO,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                  MVT::i32, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 2, 3, 
   62, 
    OPC_CheckChild2CondCode, ISD::SETUGE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   62, 
    OPC_CheckChild2CondCode, ISD::SETGE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   62, 
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   62, 
    OPC_CheckChild2CondCode, ISD::SETLE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   62, 
    OPC_CheckChild2CondCode, ISD::SETUNE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   62, 
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   62, 
    OPC_CheckChild2CondCode, ISD::SETO,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 33,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    28, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0,
                   MVT::i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 4, 
    0, 
   0, 
  0, 
 118, TARGET_VAL(PPCISD::CALL),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_SwitchOpcode , 28, TARGET_VAL(ISD::Constant),
   OPC_SwitchType , 11, MVT::i32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget, 1,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BLA), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i32, 1, 2, 
   11, MVT::i64,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget, 1,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BLA8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i64, 1, 2, 
   0,
  24, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_SwitchType , 9, MVT::i32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i32, 1, 1, 
   9, MVT::i64,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i64, 1, 1, 
   0,
  24, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_SwitchType , 9, MVT::i32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i32, 1, 1, 
   9, MVT::i64,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i64, 1, 1, 
   0,
  24, TARGET_VAL(ISD::MCSymbol),
   OPC_SwitchType , 9, MVT::i32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i32, 1, 1, 
   9, MVT::i64,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i64, 1, 1, 
   0,
  0,
 118, TARGET_VAL(PPCISD::CALL_RM),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_SwitchOpcode , 28, TARGET_VAL(ISD::Constant),
   OPC_SwitchType , 11, MVT::i32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget, 1,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BLA_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i32, 1, 2, 
   11, MVT::i64,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget, 1,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BLA8_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i64, 1, 2, 
   0,
  24, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_SwitchType , 9, MVT::i32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i32, 1, 1, 
   9, MVT::i64,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i64, 1, 1, 
   0,
  24, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_SwitchType , 9, MVT::i32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i32, 1, 1, 
   9, MVT::i64,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i64, 1, 1, 
   0,
  24, TARGET_VAL(ISD::MCSymbol),
   OPC_SwitchType , 9, MVT::i32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i32, 1, 1, 
   9, MVT::i64,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i64, 1, 1, 
   0,
  0,
 18, TARGET_VAL(PPCISD::SC),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckType, MVT::i32,
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitConvertToTarget, 1,
  OPC_MorphNodeTo0, TARGET_VAL(PPC::SC), 0|OPFL_Chain,
                1, 2, 
 18, TARGET_VAL(PPCISD::RFEBB),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckType, MVT::i32,
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitConvertToTarget, 1,
  OPC_MorphNodeTo0, TARGET_VAL(PPC::RFEBB), 0|OPFL_Chain,
                1, 2, 
 17|128,2, TARGET_VAL(ISD::SRA),
  OPC_Scope, 116, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 35, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_SwitchType , 11, MVT::i32,
     OPC_EmitConvertToTarget, 1,
     OPC_MorphNodeTo2, TARGET_VAL(PPC::SRAWI), 0,
                   MVT::i32, MVT::i32, 2, 0, 2, 
    11, MVT::i64,
     OPC_EmitConvertToTarget, 1,
     OPC_MorphNodeTo2, TARGET_VAL(PPC::SRADI), 0,
                   MVT::i64, MVT::i32, 2, 0, 2, 
    0,
   26, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_SwitchType , 9, MVT::i32,
     OPC_MorphNodeTo2, TARGET_VAL(PPC::SRAW), 0,
                   MVT::i32, MVT::i32, 2, 0, 1, 
    9, MVT::i64,
     OPC_MorphNodeTo2, TARGET_VAL(PPC::SRAD), 0,
                   MVT::i64, MVT::i32, 2, 0, 1, 
    0,
   48, 
    OPC_CheckChild1Type, MVT::v1i128,
    OPC_CheckType, MVT::v1i128,
    OPC_CheckPatternPredicate, 56,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v4i32, 3, 3, 5, 6, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRAQ), 0,
                  MVT::v1i128, 2, 0, 7, 
   0, 
  92, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 51, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 31,
    OPC_SwitchType , 13, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VAVGSH), 0,
                   MVT::v8i16, 2, 0, 1, 
    13, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VAVGSB), 0,
                   MVT::v16i8, 2, 0, 1, 
    0,
   27, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
    OPC_CheckPredicate, 31,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VAVGSW), 0,
                  MVT::v4i32, 2, 0, 1, 
   0,
  60, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 12, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRAB), 0,
                  MVT::v16i8, 2, 0, 1, 
   12, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRAH), 0,
                  MVT::v8i16, 2, 0, 1, 
   12, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRAW), 0,
                  MVT::v4i32, 2, 0, 1, 
   12, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRAD), 0,
                  MVT::v2i64, 2, 0, 1, 
   0,
  0, 
 93|128,1, TARGET_VAL(ISD::SHL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 49, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckType, MVT::i32,
   OPC_MoveParent,
   OPC_SwitchType , 20, MVT::i32,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 8, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 2, 3, 5, 
   16, MVT::i64,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 9, 3,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICR), 0,
                  MVT::i64, 3, 0, 2, 4, 
   0,
  24, 
   OPC_CheckChild1Type, MVT::i32,
   OPC_SwitchType , 8, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SLW), 0,
                  MVT::i32, 2, 0, 1, 
   8, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SLD), 0,
                  MVT::i64, 2, 0, 1, 
   0,
  81, 
   OPC_CheckChild1Type, MVT::v1i128,
   OPC_CheckType, MVT::v1i128,
   OPC_Scope, 44, 
    OPC_CheckPatternPredicate, 56,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v4i32, 3, 3, 5, 6, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLQ), 0,
                  MVT::v1i128, 2, 0, 7, 
   29, 
    OPC_CheckPatternPredicate, 16,
    OPC_EmitNode1, TARGET_VAL(PPC::VSLO), 0,
                  MVT::v16i8, 2, 0, 1, 
    OPC_EmitInteger, MVT::i32, 30, 
    OPC_EmitNode1, TARGET_VAL(PPC::VSPLTB), 0,
                  MVT::v16i8, 2, 3, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSL), 0,
                  MVT::v1i128, 2, 2, 4, 
   0, 
  14, 
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLB), 0,
                 MVT::v16i8, 2, 0, 1, 
  14, 
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLH), 0,
                 MVT::v8i16, 2, 0, 1, 
  14, 
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLW), 0,
                 MVT::v4i32, 2, 0, 1, 
  14, 
   OPC_CheckChild1Type, MVT::v2i64,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLD), 0,
                 MVT::v2i64, 2, 0, 1, 
  0, 
 34|128,1, TARGET_VAL(ISD::ROTL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 45, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckType, MVT::i32,
   OPC_MoveParent,
   OPC_SwitchType , 18, MVT::i32,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 2, 3, 4, 
   14, MVT::i64,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL), 0,
                  MVT::i64, 3, 0, 2, 3, 
   0,
  36, 
   OPC_CheckChild1Type, MVT::i32,
   OPC_SwitchType , 16, MVT::i32,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWNM), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   12, MVT::i64,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDCL), 0,
                  MVT::i64, 3, 0, 1, 2, 
   0,
  14, 
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRLB), 0,
                 MVT::v16i8, 2, 0, 1, 
  14, 
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRLH), 0,
                 MVT::v8i16, 2, 0, 1, 
  14, 
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRLW), 0,
                 MVT::v4i32, 2, 0, 1, 
  14, 
   OPC_CheckChild1Type, MVT::v2i64,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRLD), 0,
                 MVT::v2i64, 2, 0, 1, 
  14, 
   OPC_CheckChild1Type, MVT::v1i128,
   OPC_CheckType, MVT::v1i128,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VRLQ), 0,
                 MVT::v1i128, 2, 0, 1, 
  0, 
 90, TARGET_VAL(PPCISD::CALL_NOP),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_SwitchOpcode , 24, TARGET_VAL(ISD::MCSymbol),
   OPC_SwitchType , 9, MVT::i32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL_NOP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i32, 1, 1, 
   9, MVT::i64,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i64, 1, 1, 
   0,
  24, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_SwitchType , 9, MVT::i32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL_NOP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i32, 1, 1, 
   9, MVT::i64,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i64, 1, 1, 
   0,
  13, TARGET_VAL(ISD::Constant),
   OPC_CheckType, MVT::i64,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget, 1,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BLA8_NOP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                 MVT::i64, 1, 2, 
  11, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_CheckType, MVT::i64,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                 MVT::i64, 1, 1, 
  0,
 90, TARGET_VAL(PPCISD::CALL_NOP_RM),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_SwitchOpcode , 24, TARGET_VAL(ISD::MCSymbol),
   OPC_SwitchType , 9, MVT::i32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL_NOP_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i32, 1, 1, 
   9, MVT::i64,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOP_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i64, 1, 1, 
   0,
  24, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_SwitchType , 9, MVT::i32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL_NOP_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i32, 1, 1, 
   9, MVT::i64,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOP_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i64, 1, 1, 
   0,
  13, TARGET_VAL(ISD::Constant),
   OPC_CheckType, MVT::i64,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget, 1,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BLA8_NOP_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                 MVT::i64, 1, 2, 
  11, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_CheckType, MVT::i64,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOP_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                 MVT::i64, 1, 1, 
  0,
 29, TARGET_VAL(PPCISD::LD_GOT_TPREL_L),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
  OPC_MoveParent,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LDgotTprelL32), 0,
                 MVT::i32, 2, 0, 1, 
  8, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LDgotTprelL), 0,
                 MVT::i64, 2, 0, 1, 
  0,
 29, TARGET_VAL(PPCISD::ADDI_TLSGD_L),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
  OPC_MoveParent,
  OPC_SwitchType , 8, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDItlsgdL32), 0,
                 MVT::i32, 2, 0, 1, 
  8, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDItlsgdL), 0,
                 MVT::i64, 2, 0, 1, 
  0,
 66, TARGET_VAL(PPCISD::GET_TLS_ADDR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 39, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::GETtlsADDR32), 0,
                  MVT::i32, 2, 0, 1, 
   20, MVT::i64,
    OPC_Scope, 8, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::GETtlsADDR), 0,
                   MVT::i64, 2, 0, 1, 
    8, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::GETtlsADDRPCREL), 0,
                   MVT::i64, 2, 0, 1, 
    0, 
   0,
  10, 
   OPC_CheckType, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::GETtlsADDR32AIX), 0,
                 MVT::i32, 2, 0, 1, 
  10, 
   OPC_CheckType, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::GETtlsADDR64AIX), 0,
                 MVT::i64, 2, 0, 1, 
  0, 
 29, TARGET_VAL(PPCISD::ADDI_TLSLD_L),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
  OPC_MoveParent,
  OPC_SwitchType , 8, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDItlsldL32), 0,
                 MVT::i32, 2, 0, 1, 
  8, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDItlsldL), 0,
                 MVT::i64, 2, 0, 1, 
  0,
 41, TARGET_VAL(PPCISD::GET_TLSLD_ADDR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
  OPC_MoveParent,
  OPC_SwitchType , 8, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::GETtlsldADDR32), 0,
                 MVT::i32, 2, 0, 1, 
  20, MVT::i64,
   OPC_Scope, 8, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::GETtlsldADDR), 0,
                  MVT::i64, 2, 0, 1, 
   8, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::GETtlsldADDRPCREL), 0,
                  MVT::i64, 2, 0, 1, 
   0, 
  0,
 29, TARGET_VAL(PPCISD::ADDI_DTPREL_L),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
  OPC_MoveParent,
  OPC_SwitchType , 8, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIdtprelL32), 0,
                 MVT::i32, 2, 0, 1, 
  8, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIdtprelL), 0,
                 MVT::i64, 2, 0, 1, 
  0,
 29, TARGET_VAL(PPCISD::ADDIS_DTPREL_HA),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
  OPC_MoveParent,
  OPC_SwitchType , 8, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDISdtprelHA32), 0,
                 MVT::i32, 2, 0, 1, 
  8, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDISdtprelHA), 0,
                 MVT::i64, 2, 0, 1, 
  0,
 25|128,1, TARGET_VAL(PPCISD::TOC_ENTRY),
  OPC_RecordMemRef,
  OPC_RecordChild0,
  OPC_Scope, 28, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 8, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZtoc), 0|OPFL_MemRefs,
                  MVT::i32, 2, 0, 1, 
   8, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZtocL), 0|OPFL_MemRefs,
                  MVT::i32, 2, 0, 1, 
   0, 
  16, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIStocHA), 0|OPFL_MemRefs,
                 MVT::i32, 2, 0, 1, 
  102, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 36, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDItoc), 0|OPFL_MemRefs,
                   MVT::i32, 2, 0, 1, 
    20, MVT::i64,
     OPC_Scope, 8, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::LDtoc), 0|OPFL_MemRefs,
                    MVT::i64, 2, 0, 1, 
     8, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDItoc8), 0|OPFL_MemRefs,
                    MVT::i64, 2, 0, 1, 
     0, 
    0,
   12, TARGET_VAL(ISD::TargetJumpTable),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LDtocJTI), 0|OPFL_MemRefs,
                  MVT::i64, 2, 0, 1, 
   12, TARGET_VAL(ISD::TargetConstantPool),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LDtocCPT), 0|OPFL_MemRefs,
                  MVT::i64, 2, 0, 1, 
   12, TARGET_VAL(ISD::TargetBlockAddress),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LDtocBA), 0|OPFL_MemRefs,
                  MVT::i64, 2, 0, 1, 
   12, TARGET_VAL(ISD::TargetGlobalTLSAddress),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LDtoc), 0|OPFL_MemRefs,
                  MVT::i64, 2, 0, 1, 
   0,
  0, 
 34, TARGET_VAL(PPCISD::CALL_NOTOC),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_SwitchOpcode , 11, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_CheckType, MVT::i64,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOTOC), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                 MVT::i64, 1, 1, 
  11, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_CheckType, MVT::i64,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOTOC), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                 MVT::i64, 1, 1, 
  0,
 34, TARGET_VAL(PPCISD::CALL_NOTOC_RM),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_SwitchOpcode , 11, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_CheckType, MVT::i64,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOTOC_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                 MVT::i64, 1, 1, 
  11, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_CheckType, MVT::i64,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOTOC_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                 MVT::i64, 1, 1, 
  0,
 25, TARGET_VAL(PPCISD::EXTSWSLI),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::i32,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckType, MVT::i32,
  OPC_MoveParent,
  OPC_CheckType, MVT::i64,
  OPC_CheckPatternPredicate, 46,
  OPC_EmitConvertToTarget, 1,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSWSLI_32_64), 0,
                MVT::i64, 2, 0, 2, 
 17, TARGET_VAL(PPCISD::ADDIS_GOT_TPREL_HA),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
  OPC_MoveParent,
  OPC_CheckType, MVT::i64,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDISgotTprelHA), 0,
                MVT::i64, 2, 0, 1, 
 17, TARGET_VAL(PPCISD::ADDIS_TLSGD_HA),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
  OPC_MoveParent,
  OPC_CheckType, MVT::i64,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIStlsgdHA), 0,
                MVT::i64, 2, 0, 1, 
 17, TARGET_VAL(PPCISD::ADDIS_TLSLD_HA),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
  OPC_MoveParent,
  OPC_CheckType, MVT::i64,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::ADDIStlsldHA), 0,
                MVT::i64, 2, 0, 1, 
 17, TARGET_VAL(PPCISD::PADDI_DTPREL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
  OPC_MoveParent,
  OPC_CheckType, MVT::i64,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::PADDIdtprel), 0,
                MVT::i64, 2, 0, 1, 
 39|128,1, TARGET_VAL(ISD::Constant),
  OPC_Scope, 10, 
   OPC_CheckInteger, 2, 
   OPC_CheckType, MVT::i1,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::CRSET), 0,
                 MVT::i1, 0, 
  10, 
   OPC_CheckInteger, 0, 
   OPC_CheckType, MVT::i1,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::CRUNSET), 0,
                 MVT::i1, 0, 
  10, 
   OPC_CheckInteger, 3, 
   OPC_CheckType, MVT::i1,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::CRSET), 0,
                 MVT::i1, 0, 
  2|128,1, 
   OPC_RecordNode,
   OPC_Scope, 13, 
    OPC_CheckPredicate, 13,
    OPC_CheckType, MVT::i32,
    OPC_EmitConvertToTarget, 0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LI), 0,
                  MVT::i32, 1, 1, 
   16, 
    OPC_CheckPredicate, 29,
    OPC_CheckType, MVT::i32,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitNodeXForm, 0, 1,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 2, 
   13, 
    OPC_CheckPredicate, 14,
    OPC_CheckType, MVT::i64,
    OPC_EmitConvertToTarget, 0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LI8), 0,
                  MVT::i64, 1, 1, 
   16, 
    OPC_CheckPredicate, 29,
    OPC_CheckType, MVT::i64,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitNodeXForm, 0, 1,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LIS8), 0,
                  MVT::i64, 1, 2, 
   36, 
    OPC_CheckPredicate, 32,
    OPC_SwitchType , 14, MVT::i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitNodeXForm, 10, 1,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLI), 0,
                   MVT::i32, 1, 2, 
    14, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitNodeXForm, 10, 1,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::PLI8), 0,
                   MVT::i64, 1, 2, 
    0,
   27, 
    OPC_CheckType, MVT::i32,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitNodeXForm, 0, 1,
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 2, 
    OPC_EmitConvertToTarget, 0,
    OPC_EmitNodeXForm, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 3, 5, 
   0, 
  0, 
 22, TARGET_VAL(PPCISD::RET_FLAG),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_Scope, 8, 
   OPC_CheckPatternPredicate, 60,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::BLR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
                 0, 
  8, 
   OPC_CheckPatternPredicate, 19,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::BLR8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
                 0, 
  0, 
 14, TARGET_VAL(ISD::BR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(PPC::B), 0|OPFL_Chain,
                1, 1, 
 24, TARGET_VAL(PPCISD::BCTRL),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_Scope, 9, 
   OPC_CheckPatternPredicate, 60,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BCTRL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic0,
                 MVT::i32, 0, 
  9, 
   OPC_CheckPatternPredicate, 19,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BCTRL8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic0,
                 MVT::i64, 0, 
  0, 
 24, TARGET_VAL(PPCISD::BCTRL_RM),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_Scope, 9, 
   OPC_CheckPatternPredicate, 60,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BCTRL_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic0,
                 MVT::i32, 0, 
  9, 
   OPC_CheckPatternPredicate, 19,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BCTRL8_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic0,
                 MVT::i64, 0, 
  0, 
 7, TARGET_VAL(PPCISD::CLRBHRB),
  OPC_RecordNode,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(PPC::CLRBHRB), 0|OPFL_Chain,
                0, 
 7, TARGET_VAL(ISD::TRAP),
  OPC_RecordNode,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(PPC::TRAP), 0|OPFL_Chain,
                0, 
 43|128,1, TARGET_VAL(PPCISD::SHL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 24, 
   OPC_CheckChild1Type, MVT::i32,
   OPC_SwitchType , 8, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SLW), 0,
                  MVT::i32, 2, 0, 1, 
   8, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SLD), 0,
                  MVT::i64, 2, 0, 1, 
   0,
  81, 
   OPC_CheckChild1Type, MVT::v1i128,
   OPC_CheckType, MVT::v1i128,
   OPC_Scope, 44, 
    OPC_CheckPatternPredicate, 56,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v4i32, 3, 3, 5, 6, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLQ), 0,
                  MVT::v1i128, 2, 0, 7, 
   29, 
    OPC_CheckPatternPredicate, 16,
    OPC_EmitNode1, TARGET_VAL(PPC::VSLO), 0,
                  MVT::v16i8, 2, 0, 1, 
    OPC_EmitInteger, MVT::i32, 30, 
    OPC_EmitNode1, TARGET_VAL(PPC::VSPLTB), 0,
                  MVT::v16i8, 2, 3, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSL), 0,
                  MVT::v1i128, 2, 2, 4, 
   0, 
  14, 
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLB), 0,
                 MVT::v16i8, 2, 0, 1, 
  14, 
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLH), 0,
                 MVT::v8i16, 2, 0, 1, 
  14, 
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLW), 0,
                 MVT::v4i32, 2, 0, 1, 
  14, 
   OPC_CheckChild1Type, MVT::v2i64,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLD), 0,
                 MVT::v2i64, 2, 0, 1, 
  0, 
 43|128,1, TARGET_VAL(PPCISD::SRL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 24, 
   OPC_CheckChild1Type, MVT::i32,
   OPC_SwitchType , 8, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SRW), 0,
                  MVT::i32, 2, 0, 1, 
   8, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SRD), 0,
                  MVT::i64, 2, 0, 1, 
   0,
  81, 
   OPC_CheckChild1Type, MVT::v1i128,
   OPC_CheckType, MVT::v1i128,
   OPC_Scope, 44, 
    OPC_CheckPatternPredicate, 56,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 4, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v4i32, 3, 3, 5, 6, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRQ), 0,
                  MVT::v1i128, 2, 0, 7, 
   29, 
    OPC_CheckPatternPredicate, 16,
    OPC_EmitNode1, TARGET_VAL(PPC::VSRO), 0,
                  MVT::v16i8, 2, 0, 1, 
    OPC_EmitInteger, MVT::i32, 30, 
    OPC_EmitNode1, TARGET_VAL(PPC::VSPLTB), 0,
                  MVT::v16i8, 2, 3, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSR), 0,
                  MVT::v1i128, 2, 2, 4, 
   0, 
  14, 
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRB), 0,
                 MVT::v16i8, 2, 0, 1, 
  14, 
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRH), 0,
                 MVT::v8i16, 2, 0, 1, 
  14, 
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRW), 0,
                 MVT::v4i32, 2, 0, 1, 
  14, 
   OPC_CheckChild1Type, MVT::v2i64,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRD), 0,
                 MVT::v2i64, 2, 0, 1, 
  0, 
 12|128,1, TARGET_VAL(PPCISD::SRA),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 26, 
   OPC_CheckChild1Type, MVT::i32,
   OPC_SwitchType , 9, MVT::i32,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::SRAW), 0,
                  MVT::i32, MVT::i32, 2, 0, 1, 
   9, MVT::i64,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::SRAD), 0,
                  MVT::i64, MVT::i32, 2, 0, 1, 
   0,
  48, 
   OPC_CheckChild1Type, MVT::v1i128,
   OPC_CheckType, MVT::v1i128,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 1, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 1, 4, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                 MVT::v4i32, 3, 3, 5, 6, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRAQ), 0,
                 MVT::v1i128, 2, 0, 7, 
  14, 
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRAB), 0,
                 MVT::v16i8, 2, 0, 1, 
  14, 
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRAH), 0,
                 MVT::v8i16, 2, 0, 1, 
  14, 
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRAW), 0,
                 MVT::v4i32, 2, 0, 1, 
  14, 
   OPC_CheckChild1Type, MVT::v2i64,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSRAD), 0,
                 MVT::v2i64, 2, 0, 1, 
  0, 
 77, TARGET_VAL(ISD::CTLZ),
  OPC_RecordChild0,
  OPC_SwitchType , 9, MVT::i32,
   OPC_CheckChild0Type, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::CNTLZW), 0,
                 MVT::i32, 1, 0, 
  9, MVT::i64,
   OPC_CheckChild0Type, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::CNTLZD), 0,
                 MVT::i64, 1, 0, 
  11, MVT::v16i8,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCLZB), 0,
                 MVT::v16i8, 1, 0, 
  11, MVT::v8i16,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCLZH), 0,
                 MVT::v8i16, 1, 0, 
  11, MVT::v4i32,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCLZW), 0,
                 MVT::v4i32, 1, 0, 
  11, MVT::v2i64,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCLZD), 0,
                 MVT::v2i64, 1, 0, 
  0,
 81, TARGET_VAL(ISD::CTTZ),
  OPC_RecordChild0,
  OPC_SwitchType , 11, MVT::i32,
   OPC_CheckChild0Type, MVT::i32,
   OPC_CheckPatternPredicate, 46,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::CNTTZW), 0,
                 MVT::i32, 1, 0, 
  11, MVT::i64,
   OPC_CheckChild0Type, MVT::i64,
   OPC_CheckPatternPredicate, 46,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::CNTTZD), 0,
                 MVT::i64, 1, 0, 
  11, MVT::v16i8,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCTZB), 0,
                 MVT::v16i8, 1, 0, 
  11, MVT::v8i16,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCTZH), 0,
                 MVT::v8i16, 1, 0, 
  11, MVT::v4i32,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCTZW), 0,
                 MVT::v4i32, 1, 0, 
  11, MVT::v2i64,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VCTZD), 0,
                 MVT::v2i64, 1, 0, 
  0,
 12|128,1, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
  OPC_RecordChild0,
  OPC_MoveChild1,
  OPC_Scope, 23, 
   OPC_CheckValueType, MVT::i8,
   OPC_MoveParent,
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSB), 0,
                  MVT::i32, 1, 0, 
   7, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSB8), 0,
                  MVT::i64, 1, 0, 
   0,
  23, 
   OPC_CheckValueType, MVT::i16,
   OPC_MoveParent,
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSH), 0,
                  MVT::i32, 1, 0, 
   7, MVT::i64,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSH8), 0,
                  MVT::i64, 1, 0, 
   0,
  12, 
   OPC_CheckValueType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckType, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::EXTSW), 0,
                 MVT::i64, 1, 0, 
  14, 
   OPC_CheckValueType, MVT::v4i8,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSB2W), 0,
                 MVT::v4i32, 1, 0, 
  14, 
   OPC_CheckValueType, MVT::v4i16,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSH2W), 0,
                 MVT::v4i32, 1, 0, 
  14, 
   OPC_CheckValueType, MVT::v2i8,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSB2D), 0,
                 MVT::v2i64, 1, 0, 
  14, 
   OPC_CheckValueType, MVT::v2i16,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSH2D), 0,
                 MVT::v2i64, 1, 0, 
  14, 
   OPC_CheckValueType, MVT::v2i32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 43,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSW2D), 0,
                 MVT::v2i64, 1, 0, 
  0, 
 24, TARGET_VAL(PPCISD::CMPB),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::CMPB), 0,
                 MVT::i32, 2, 0, 1, 
  8, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::CMPB8), 0,
                 MVT::i64, 2, 0, 1, 
  0,
 9, TARGET_VAL(PPCISD::CR6SET),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::CR6SET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                MVT::i1, 0, 
 9, TARGET_VAL(PPCISD::CR6UNSET),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::CR6UNSET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                MVT::i1, 0, 
 27, TARGET_VAL(PPCISD::MTCTR),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 10, 
   OPC_CheckChild1Type, MVT::i32,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MTCTR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                 MVT::i32, 1, 1, 
  10, 
   OPC_CheckChild1Type, MVT::i64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MTCTR8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                 MVT::i64, 1, 1, 
  0, 
 64, TARGET_VAL(ISD::SREM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 10, MVT::i32,
   OPC_CheckPatternPredicate, 46,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MODSW), 0,
                 MVT::i32, 2, 0, 1, 
  10, MVT::i64,
   OPC_CheckPatternPredicate, 46,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MODSD), 0,
                 MVT::i64, 2, 0, 1, 
  10, MVT::v4i32,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMODSW), 0,
                 MVT::v4i32, 2, 0, 1, 
  10, MVT::v2i64,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMODSD), 0,
                 MVT::v2i64, 2, 0, 1, 
  10, MVT::v1i128,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMODSQ), 0,
                 MVT::v1i128, 2, 0, 1, 
  0,
 64, TARGET_VAL(ISD::UREM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 10, MVT::i32,
   OPC_CheckPatternPredicate, 46,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MODUW), 0,
                 MVT::i32, 2, 0, 1, 
  10, MVT::i64,
   OPC_CheckPatternPredicate, 46,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MODUD), 0,
                 MVT::i64, 2, 0, 1, 
  10, MVT::v4i32,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMODUW), 0,
                 MVT::v4i32, 2, 0, 1, 
  10, MVT::v2i64,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMODUD), 0,
                 MVT::v2i64, 2, 0, 1, 
  10, MVT::v1i128,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMODUQ), 0,
                 MVT::v1i128, 2, 0, 1, 
  0,
 60, TARGET_VAL(ISD::SDIV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::DIVW), 0,
                 MVT::i32, 2, 0, 1, 
  8, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::DIVD), 0,
                 MVT::i64, 2, 0, 1, 
  10, MVT::v4i32,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VDIVSW), 0,
                 MVT::v4i32, 2, 0, 1, 
  10, MVT::v2i64,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VDIVSD), 0,
                 MVT::v2i64, 2, 0, 1, 
  10, MVT::v1i128,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VDIVSQ), 0,
                 MVT::v1i128, 2, 0, 1, 
  0,
 60, TARGET_VAL(ISD::UDIV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::DIVWU), 0,
                 MVT::i32, 2, 0, 1, 
  8, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::DIVDU), 0,
                 MVT::i64, 2, 0, 1, 
  10, MVT::v4i32,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VDIVUW), 0,
                 MVT::v4i32, 2, 0, 1, 
  10, MVT::v2i64,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VDIVUD), 0,
                 MVT::v2i64, 2, 0, 1, 
  10, MVT::v1i128,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VDIVUQ), 0,
                 MVT::v1i128, 2, 0, 1, 
  0,
 48, TARGET_VAL(ISD::MULHS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MULHW), 0,
                 MVT::i32, 2, 0, 1, 
  8, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MULHD), 0,
                 MVT::i64, 2, 0, 1, 
  10, MVT::v4i32,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULHSW), 0,
                 MVT::v4i32, 2, 0, 1, 
  10, MVT::v2i64,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULHSD), 0,
                 MVT::v2i64, 2, 0, 1, 
  0,
 48, TARGET_VAL(ISD::MULHU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MULHWU), 0,
                 MVT::i32, 2, 0, 1, 
  8, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MULHDU), 0,
                 MVT::i64, 2, 0, 1, 
  10, MVT::v4i32,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULHUW), 0,
                 MVT::v4i32, 2, 0, 1, 
  10, MVT::v2i64,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMULHUD), 0,
                 MVT::v2i64, 2, 0, 1, 
  0,
 8, TARGET_VAL(PPCISD::PPC32_GOT),
  OPC_CheckType, MVT::i32,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::PPC32GOT), 0,
                MVT::i32, 0, 
 24, TARGET_VAL(PPCISD::TLSGD_AIX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::TLSGDAIX), 0,
                 MVT::i32, 2, 0, 1, 
  8, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::TLSGDAIX8), 0,
                 MVT::i64, 2, 0, 1, 
  0,
 10, TARGET_VAL(ISD::READCYCLECOUNTER),
  OPC_RecordNode,
  OPC_CheckType, MVT::i64,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::MFTB8), 0|OPFL_Chain,
                MVT::i64, 0, 
 77, TARGET_VAL(ISD::CTPOP),
  OPC_RecordChild0,
  OPC_SwitchType , 9, MVT::i64,
   OPC_CheckChild0Type, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::POPCNTD), 0,
                 MVT::i64, 1, 0, 
  9, MVT::i32,
   OPC_CheckChild0Type, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::POPCNTW), 0,
                 MVT::i32, 1, 0, 
  11, MVT::v16i8,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPOPCNTB), 0,
                 MVT::v16i8, 1, 0, 
  11, MVT::v8i16,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPOPCNTH), 0,
                 MVT::v8i16, 1, 0, 
  11, MVT::v4i32,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPOPCNTW), 0,
                 MVT::v4i32, 1, 0, 
  11, MVT::v2i64,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_CheckPatternPredicate, 50,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPOPCNTD), 0,
                 MVT::v2i64, 1, 0, 
  0,
 113, TARGET_VAL(ISD::BSWAP),
  OPC_RecordChild0,
  OPC_SwitchType , 9, MVT::i32,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BRW), 0,
                 MVT::i32, 1, 0, 
  9, MVT::i64,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::BRD), 0,
                 MVT::i64, 1, 0, 
  9, MVT::v4i32,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXBRW), 0,
                 MVT::v4i32, 1, 0, 
  9, MVT::v2i64,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXBRD), 0,
                 MVT::v2i64, 1, 0, 
  31, MVT::v8i16,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 0, 1, 
   OPC_EmitNode1, TARGET_VAL(PPC::XXBRH), 0,
                 MVT::v4i32, 1, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v8i16, 2, 3, 4, 
  31, MVT::v1i128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v4i32, 2, 0, 1, 
   OPC_EmitNode1, TARGET_VAL(PPC::XXBRQ), 0,
                 MVT::v4i32, 1, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v1i128, 2, 3, 4, 
  0,
 6|128,11, TARGET_VAL(ISD::STRICT_FSETCC),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 84|128,3, 
   OPC_CheckChild1Type, MVT::f32,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_Scope, 27, 
    OPC_CheckCondCode, ISD::SETOLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETOGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETOEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETUO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   37, 
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETUNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUS), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   0, 
  84|128,3, 
   OPC_CheckChild1Type, MVT::f64,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_Scope, 27, 
    OPC_CheckCondCode, ISD::SETOLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETOGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETOEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETUO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   37, 
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETUNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPUD), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   0, 
  84|128,3, 
   OPC_CheckChild1Type, MVT::f128,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_Scope, 27, 
    OPC_CheckCondCode, ISD::SETOLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETOGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETOEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETUO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   37, 
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETUNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPUQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   0, 
  0, 
 110|128,16, TARGET_VAL(ISD::STRICT_FSETCCS),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 72|128,6, 
   OPC_CheckChild1Type, MVT::f32,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_Scope, 53, 
    OPC_CheckCondCode, ISD::SETOLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    0, 
   53, 
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    0, 
   53, 
    OPC_CheckCondCode, ISD::SETOGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    0, 
   53, 
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    0, 
   53, 
    OPC_CheckCondCode, ISD::SETOEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    0, 
   53, 
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    0, 
   27, 
    OPC_CheckCondCode, ISD::SETUO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   73, 
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 32, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    32, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    0, 
   73, 
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 32, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    32, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPLT), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    0, 
   73, 
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 32, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    32, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    0, 
   73, 
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 32, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    32, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPGT), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    0, 
   73, 
    OPC_CheckCondCode, ISD::SETUNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 32, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    32, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    0, 
   73, 
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 32, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    32, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFSCMPEQ), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    0, 
   37, 
    OPC_CheckCondCode, ISD::SETO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPOS), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   0, 
  72|128,6, 
   OPC_CheckChild1Type, MVT::f64,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_Scope, 53, 
    OPC_CheckCondCode, ISD::SETOLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    0, 
   53, 
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    0, 
   53, 
    OPC_CheckCondCode, ISD::SETOGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    0, 
   53, 
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    0, 
   53, 
    OPC_CheckCondCode, ISD::SETOEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    0, 
   53, 
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                   MVT::i1, 2, 3, 4, 
    0, 
   27, 
    OPC_CheckCondCode, ISD::SETUO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   73, 
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 32, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    32, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    0, 
   73, 
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 32, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    32, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPLT), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    0, 
   73, 
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 32, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    32, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    0, 
   73, 
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 32, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    32, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPGT), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    0, 
   73, 
    OPC_CheckCondCode, ISD::SETUNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 32, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    32, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    0, 
   73, 
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 32, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    32, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::EFDCMPEQ), 0|OPFL_Chain,
                   MVT::i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i1, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                   MVT::i1, 1, 5, 
     OPC_CompleteMatch, 1, 6, 

    0, 
   37, 
    OPC_CheckCondCode, ISD::SETO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::FCMPOD), 0,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   0, 
  84|128,3, 
   OPC_CheckChild1Type, MVT::f128,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_Scope, 27, 
    OPC_CheckCondCode, ISD::SETOLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETOGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETOEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   27, 
    OPC_CheckCondCode, ISD::SETUO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::i1, 2, 3, 4, 
   37, 
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_lt,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_gt,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETUNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_eq,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   37, 
    OPC_CheckCondCode, ISD::SETO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCMPOQP), 0|OPFL_Chain,
                  MVT::i32, 2, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_un,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i1, 2, 3, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                  MVT::i1, 1, 5, 
    OPC_CompleteMatch, 1, 6, 

   0, 
  0, 
 51|128,1, TARGET_VAL(ISD::SELECT),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::i1,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 31, MVT::i1,
   OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                 MVT::i1, 2, 0, 1, 
   OPC_EmitNode1, TARGET_VAL(PPC::CRNOT), 0,
                 MVT::i1, 1, 0, 
   OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                 MVT::i1, 2, 4, 2, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::CROR), 0,
                 MVT::i1, 2, 3, 5, 
  9, MVT::i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                 MVT::i32, 3, 0, 1, 2, 
  9, MVT::i64,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                 MVT::i64, 3, 0, 1, 2, 
  38, MVT::f64,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSFRC), 0,
                  MVT::f64, 3, 0, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F8), 0,
                  MVT::f64, 3, 0, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE), 0,
                  MVT::f64, 3, 0, 1, 2, 
   0, 
  38, MVT::f32,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSSRC), 0,
                  MVT::f32, 3, 0, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F4), 0,
                  MVT::f32, 3, 0, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE4), 0,
                  MVT::f32, 3, 0, 1, 2, 
   0, 
  11, MVT::f128,
   OPC_CheckPatternPredicate, 13,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F16), 0,
                 MVT::f128, 3, 0, 1, 2, 
  9, MVT::v4i32,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VRRC), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  11, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSRC), 0,
                 MVT::v2f64, 3, 0, 1, 2, 
  0,
 61|128,21, TARGET_VAL(ISD::SELECT_CC),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::i1,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_MoveChild4,
  OPC_Scope, 16|128,2, 
   OPC_CheckCondCode, ISD::SETLT,
   OPC_MoveParent,
   OPC_SwitchType , 40, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 4, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 6, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CROR), 0,
                  MVT::i1, 2, 5, 7, 
   17, MVT::i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                  MVT::i32, 3, 4, 2, 3, 
   17, MVT::i64,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                  MVT::i64, 3, 4, 2, 3, 
   62, MVT::f64,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSFRC), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F8), 0,
                   MVT::f64, 3, 4, 2, 3, 
    0, 
   62, MVT::f32,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 12,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSSRC), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    0, 
   17, MVT::f128,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F16), 0,
                  MVT::f128, 3, 4, 2, 3, 
   17, MVT::v4i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VRRC), 0,
                  MVT::v4i32, 3, 4, 2, 3, 
   19, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSRC), 0,
                  MVT::v2f64, 3, 4, 2, 3, 
   0,
  16|128,2, 
   OPC_CheckCondCode, ISD::SETULT,
   OPC_MoveParent,
   OPC_SwitchType , 40, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 4, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 6, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CROR), 0,
                  MVT::i1, 2, 5, 7, 
   17, MVT::i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                  MVT::i32, 3, 4, 2, 3, 
   17, MVT::i64,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                  MVT::i64, 3, 4, 2, 3, 
   62, MVT::f64,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSFRC), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F8), 0,
                   MVT::f64, 3, 4, 2, 3, 
    0, 
   62, MVT::f32,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 12,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSSRC), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    0, 
   17, MVT::f128,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F16), 0,
                  MVT::f128, 3, 4, 2, 3, 
   17, MVT::v4i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VRRC), 0,
                  MVT::v4i32, 3, 4, 2, 3, 
   19, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSRC), 0,
                  MVT::v2f64, 3, 4, 2, 3, 
   0,
  16|128,2, 
   OPC_CheckCondCode, ISD::SETLE,
   OPC_MoveParent,
   OPC_SwitchType , 40, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 4, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 6, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CROR), 0,
                  MVT::i1, 2, 5, 7, 
   17, MVT::i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                  MVT::i32, 3, 4, 2, 3, 
   17, MVT::i64,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                  MVT::i64, 3, 4, 2, 3, 
   62, MVT::f64,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSFRC), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F8), 0,
                   MVT::f64, 3, 4, 2, 3, 
    0, 
   62, MVT::f32,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 12,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSSRC), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    0, 
   17, MVT::f128,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F16), 0,
                  MVT::f128, 3, 4, 2, 3, 
   17, MVT::v4i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VRRC), 0,
                  MVT::v4i32, 3, 4, 2, 3, 
   19, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSRC), 0,
                  MVT::v2f64, 3, 4, 2, 3, 
   0,
  16|128,2, 
   OPC_CheckCondCode, ISD::SETULE,
   OPC_MoveParent,
   OPC_SwitchType , 40, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 4, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 6, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CROR), 0,
                  MVT::i1, 2, 5, 7, 
   17, MVT::i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                  MVT::i32, 3, 4, 2, 3, 
   17, MVT::i64,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                  MVT::i64, 3, 4, 2, 3, 
   62, MVT::f64,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSFRC), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F8), 0,
                   MVT::f64, 3, 4, 2, 3, 
    0, 
   62, MVT::f32,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 12,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSSRC), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    0, 
   17, MVT::f128,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F16), 0,
                  MVT::f128, 3, 4, 2, 3, 
   17, MVT::v4i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VRRC), 0,
                  MVT::v4i32, 3, 4, 2, 3, 
   19, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSRC), 0,
                  MVT::v2f64, 3, 4, 2, 3, 
   0,
  16|128,2, 
   OPC_CheckCondCode, ISD::SETEQ,
   OPC_MoveParent,
   OPC_SwitchType , 40, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CREQV), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 4, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRXOR), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 6, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CROR), 0,
                  MVT::i1, 2, 5, 7, 
   17, MVT::i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CREQV), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                  MVT::i32, 3, 4, 2, 3, 
   17, MVT::i64,
    OPC_EmitNode1, TARGET_VAL(PPC::CREQV), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                  MVT::i64, 3, 4, 2, 3, 
   62, MVT::f64,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::CREQV), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSFRC), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CREQV), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CREQV), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F8), 0,
                   MVT::f64, 3, 4, 2, 3, 
    0, 
   62, MVT::f32,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 12,
     OPC_EmitNode1, TARGET_VAL(PPC::CREQV), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSSRC), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CREQV), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CREQV), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    0, 
   17, MVT::f128,
    OPC_EmitNode1, TARGET_VAL(PPC::CREQV), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F16), 0,
                  MVT::f128, 3, 4, 2, 3, 
   17, MVT::v4i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CREQV), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VRRC), 0,
                  MVT::v4i32, 3, 4, 2, 3, 
   19, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitNode1, TARGET_VAL(PPC::CREQV), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSRC), 0,
                  MVT::v2f64, 3, 4, 2, 3, 
   0,
  16|128,2, 
   OPC_CheckCondCode, ISD::SETGE,
   OPC_MoveParent,
   OPC_SwitchType , 40, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 4, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 6, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CROR), 0,
                  MVT::i1, 2, 5, 7, 
   17, MVT::i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                  MVT::i32, 3, 4, 2, 3, 
   17, MVT::i64,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                  MVT::i64, 3, 4, 2, 3, 
   62, MVT::f64,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSFRC), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F8), 0,
                   MVT::f64, 3, 4, 2, 3, 
    0, 
   62, MVT::f32,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 12,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSSRC), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    0, 
   17, MVT::f128,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F16), 0,
                  MVT::f128, 3, 4, 2, 3, 
   17, MVT::v4i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VRRC), 0,
                  MVT::v4i32, 3, 4, 2, 3, 
   19, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSRC), 0,
                  MVT::v2f64, 3, 4, 2, 3, 
   0,
  16|128,2, 
   OPC_CheckCondCode, ISD::SETUGE,
   OPC_MoveParent,
   OPC_SwitchType , 40, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 4, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 6, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CROR), 0,
                  MVT::i1, 2, 5, 7, 
   17, MVT::i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                  MVT::i32, 3, 4, 2, 3, 
   17, MVT::i64,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                  MVT::i64, 3, 4, 2, 3, 
   62, MVT::f64,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSFRC), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F8), 0,
                   MVT::f64, 3, 4, 2, 3, 
    0, 
   62, MVT::f32,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 12,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSSRC), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    0, 
   17, MVT::f128,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F16), 0,
                  MVT::f128, 3, 4, 2, 3, 
   17, MVT::v4i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VRRC), 0,
                  MVT::v4i32, 3, 4, 2, 3, 
   19, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSRC), 0,
                  MVT::v2f64, 3, 4, 2, 3, 
   0,
  16|128,2, 
   OPC_CheckCondCode, ISD::SETGT,
   OPC_MoveParent,
   OPC_SwitchType , 40, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 4, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 6, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CROR), 0,
                  MVT::i1, 2, 5, 7, 
   17, MVT::i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                  MVT::i32, 3, 4, 2, 3, 
   17, MVT::i64,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                  MVT::i64, 3, 4, 2, 3, 
   62, MVT::f64,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSFRC), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F8), 0,
                   MVT::f64, 3, 4, 2, 3, 
    0, 
   62, MVT::f32,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 12,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSSRC), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    0, 
   17, MVT::f128,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F16), 0,
                  MVT::f128, 3, 4, 2, 3, 
   17, MVT::v4i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VRRC), 0,
                  MVT::v4i32, 3, 4, 2, 3, 
   19, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSRC), 0,
                  MVT::v2f64, 3, 4, 2, 3, 
   0,
  16|128,2, 
   OPC_CheckCondCode, ISD::SETUGT,
   OPC_MoveParent,
   OPC_SwitchType , 40, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 4, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRORC), 0,
                  MVT::i1, 2, 1, 0, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 6, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CROR), 0,
                  MVT::i1, 2, 5, 7, 
   17, MVT::i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                  MVT::i32, 3, 4, 2, 3, 
   17, MVT::i64,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                  MVT::i64, 3, 4, 2, 3, 
   62, MVT::f64,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSFRC), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F8), 0,
                   MVT::f64, 3, 4, 2, 3, 
    0, 
   62, MVT::f32,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 12,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSSRC), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    0, 
   17, MVT::f128,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F16), 0,
                  MVT::f128, 3, 4, 2, 3, 
   17, MVT::v4i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VRRC), 0,
                  MVT::v4i32, 3, 4, 2, 3, 
   19, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitNode1, TARGET_VAL(PPC::CRANDC), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSRC), 0,
                  MVT::v2f64, 3, 4, 2, 3, 
   0,
  16|128,2, 
   OPC_CheckCondCode, ISD::SETNE,
   OPC_MoveParent,
   OPC_SwitchType , 40, MVT::i1,
    OPC_EmitNode1, TARGET_VAL(PPC::CREQV), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 4, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRXOR), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::CRAND), 0,
                  MVT::i1, 2, 6, 2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::CROR), 0,
                  MVT::i1, 2, 5, 7, 
   17, MVT::i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRXOR), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I4), 0,
                  MVT::i32, 3, 4, 2, 3, 
   17, MVT::i64,
    OPC_EmitNode1, TARGET_VAL(PPC::CRXOR), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_I8), 0,
                  MVT::i64, 3, 4, 2, 3, 
   62, MVT::f64,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::CRXOR), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSFRC), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRXOR), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE), 0,
                   MVT::f64, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRXOR), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F8), 0,
                   MVT::f64, 3, 4, 2, 3, 
    0, 
   62, MVT::f32,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 12,
     OPC_EmitNode1, TARGET_VAL(PPC::CRXOR), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSSRC), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1, TARGET_VAL(PPC::CRXOR), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_SPE4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    19, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitNode1, TARGET_VAL(PPC::CRXOR), 0,
                   MVT::i1, 2, 0, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F4), 0,
                   MVT::f32, 3, 4, 2, 3, 
    0, 
   17, MVT::f128,
    OPC_EmitNode1, TARGET_VAL(PPC::CRXOR), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_F16), 0,
                  MVT::f128, 3, 4, 2, 3, 
   17, MVT::v4i32,
    OPC_EmitNode1, TARGET_VAL(PPC::CRXOR), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VRRC), 0,
                  MVT::v4i32, 3, 4, 2, 3, 
   19, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitNode1, TARGET_VAL(PPC::CRXOR), 0,
                  MVT::i1, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::SELECT_VSRC), 0,
                  MVT::v2f64, 3, 4, 2, 3, 
   0,
  0, 
 98|128,0|128,1, TARGET_VAL(ISD::BITREVERSE),
  OPC_RecordChild0,
  OPC_SwitchType , 28|128,42, MVT::i32,
   OPC_Scope, 2|128,21, 
    OPC_CheckPatternPredicate, 60,
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 5, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 6, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 4, 8, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 10, 11, 12, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 14, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 15, 16, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 13, 17, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 9, 18, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 19, 20, 21, 22, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 24, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 25, 26, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 23, 27, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 29, 30, 31, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 33, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 34, 35, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 32, 36, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 38, 39, 40, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 42, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 43, 44, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 41, 45, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 37, 46, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 47, 48, 49, 50, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 52, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 53, 54, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 51, 55, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 28, 56, 
    OPC_EmitInteger, MVT::i32, 56, 
    OPC_EmitInteger, MVT::i32, 8, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 57, 58, 59, 60, 
    OPC_EmitInteger, MVT::i32, 30|128,60, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 62, 
    OPC_EmitInteger, MVT::i32, 30|128,60, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 63, 64, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 61, 65, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 67, 68, 69, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 71, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 72, 73, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 70, 74, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 76, 77, 78, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 80, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 81, 82, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 79, 83, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 75, 84, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 85, 86, 87, 88, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 90, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 91, 92, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 89, 93, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 95, 96, 97, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 99, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 100, 101, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 98, 102, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 104, 105, 106, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 108, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 109, 110, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 107, 111, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 103, 112, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 113, 114, 115, 116, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 118, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 119, 120, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 117, 121, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 94, 122, 
    OPC_EmitInteger, MVT::i32, 8, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 54, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 123, 124, 125, 126, 
    OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 0|128,1, 
    OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 1|128,1, 2|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 127, 3|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 66, 4|128,1, 
    OPC_EmitInteger, MVT::i32, 48, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 5|128,1, 6|128,1, 7|128,1, 8|128,1, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 10|128,1, 11|128,1, 12|128,1, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 14|128,1, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 15|128,1, 16|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 13|128,1, 17|128,1, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 19|128,1, 20|128,1, 21|128,1, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 23|128,1, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 24|128,1, 25|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 22|128,1, 26|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 18|128,1, 27|128,1, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 28|128,1, 29|128,1, 30|128,1, 31|128,1, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 33|128,1, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 34|128,1, 35|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 32|128,1, 36|128,1, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 38|128,1, 39|128,1, 40|128,1, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 42|128,1, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 43|128,1, 44|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 41|128,1, 45|128,1, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 47|128,1, 48|128,1, 49|128,1, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 51|128,1, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 52|128,1, 53|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 50|128,1, 54|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 46|128,1, 55|128,1, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 56|128,1, 57|128,1, 58|128,1, 59|128,1, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 61|128,1, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 62|128,1, 63|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 60|128,1, 64|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 37|128,1, 65|128,1, 
    OPC_EmitInteger, MVT::i32, 56, 
    OPC_EmitInteger, MVT::i32, 8, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 66|128,1, 67|128,1, 68|128,1, 69|128,1, 
    OPC_EmitInteger, MVT::i32, 30|128,60, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 71|128,1, 
    OPC_EmitInteger, MVT::i32, 30|128,60, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 72|128,1, 73|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 70|128,1, 74|128,1, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 76|128,1, 77|128,1, 78|128,1, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 80|128,1, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 81|128,1, 82|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 79|128,1, 83|128,1, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 85|128,1, 86|128,1, 87|128,1, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 89|128,1, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 90|128,1, 91|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 88|128,1, 92|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 84|128,1, 93|128,1, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 94|128,1, 95|128,1, 96|128,1, 97|128,1, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 99|128,1, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 100|128,1, 101|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 98|128,1, 102|128,1, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 104|128,1, 105|128,1, 106|128,1, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 108|128,1, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 109|128,1, 110|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 107|128,1, 111|128,1, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 113|128,1, 114|128,1, 115|128,1, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 117|128,1, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 118|128,1, 119|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 116|128,1, 120|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 112|128,1, 121|128,1, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 122|128,1, 123|128,1, 124|128,1, 125|128,1, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 127|128,1, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 0|128,2, 1|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 126|128,1, 2|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 103|128,1, 3|128,2, 
    OPC_EmitInteger, MVT::i32, 8, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 54, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 4|128,2, 5|128,2, 6|128,2, 7|128,2, 
    OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 9|128,2, 
    OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 10|128,2, 11|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 8|128,2, 12|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 75|128,1, 13|128,2, 
    OPC_EmitInteger, MVT::i32, 16, 
    OPC_EmitInteger, MVT::i32, 16, 
    OPC_EmitInteger, MVT::i32, 30, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWIMI), 0,
                  MVT::i32, 5, 9|128,1, 14|128,2, 15|128,2, 16|128,2, 17|128,2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 19|128,2, 20|128,2, 21|128,2, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 23|128,2, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 24|128,2, 25|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 22|128,2, 26|128,2, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 28|128,2, 29|128,2, 30|128,2, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 32|128,2, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 33|128,2, 34|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 31|128,2, 35|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 27|128,2, 36|128,2, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 37|128,2, 38|128,2, 39|128,2, 40|128,2, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 42|128,2, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 43|128,2, 44|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 41|128,2, 45|128,2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 47|128,2, 48|128,2, 49|128,2, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 51|128,2, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 52|128,2, 53|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 50|128,2, 54|128,2, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 56|128,2, 57|128,2, 58|128,2, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 60|128,2, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 61|128,2, 62|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 59|128,2, 63|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 55|128,2, 64|128,2, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 65|128,2, 66|128,2, 67|128,2, 68|128,2, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 70|128,2, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 71|128,2, 72|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 69|128,2, 73|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 46|128,2, 74|128,2, 
    OPC_EmitInteger, MVT::i32, 56, 
    OPC_EmitInteger, MVT::i32, 8, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 75|128,2, 76|128,2, 77|128,2, 78|128,2, 
    OPC_EmitInteger, MVT::i32, 30|128,60, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 80|128,2, 
    OPC_EmitInteger, MVT::i32, 30|128,60, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 81|128,2, 82|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 79|128,2, 83|128,2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 85|128,2, 86|128,2, 87|128,2, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 89|128,2, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 90|128,2, 91|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 88|128,2, 92|128,2, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 94|128,2, 95|128,2, 96|128,2, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 98|128,2, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 99|128,2, 100|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 97|128,2, 101|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 93|128,2, 102|128,2, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 103|128,2, 104|128,2, 105|128,2, 106|128,2, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 108|128,2, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 109|128,2, 110|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 107|128,2, 111|128,2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 113|128,2, 114|128,2, 115|128,2, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 117|128,2, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 118|128,2, 119|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 116|128,2, 120|128,2, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 122|128,2, 123|128,2, 124|128,2, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 126|128,2, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 127|128,2, 0|128,3, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 125|128,2, 1|128,3, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 121|128,2, 2|128,3, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 3|128,3, 4|128,3, 5|128,3, 6|128,3, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 8|128,3, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 9|128,3, 10|128,3, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 7|128,3, 11|128,3, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 112|128,2, 12|128,3, 
    OPC_EmitInteger, MVT::i32, 8, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 54, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 13|128,3, 14|128,3, 15|128,3, 16|128,3, 
    OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 18|128,3, 
    OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 19|128,3, 20|128,3, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 17|128,3, 21|128,3, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 84|128,2, 22|128,3, 
    OPC_EmitInteger, MVT::i32, 16, 
    OPC_EmitInteger, MVT::i32, 48, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWIMI), 0,
                  MVT::i32, 5, 18|128,2, 23|128,3, 24|128,3, 25|128,3, 26|128,3, 
   20|128,21, 
    OPC_CheckPatternPredicate, 19,
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 5, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 6, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 4, 8, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 10, 11, 12, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 14, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 15, 16, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 13, 17, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 9, 18, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 19, 20, 21, 22, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 24, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 25, 26, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 23, 27, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 29, 30, 31, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 33, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 34, 35, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 32, 36, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 38, 39, 40, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 42, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 43, 44, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 41, 45, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 37, 46, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 47, 48, 49, 50, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 52, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 53, 54, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 51, 55, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 28, 56, 
    OPC_EmitInteger, MVT::i32, 56, 
    OPC_EmitInteger, MVT::i32, 8, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 57, 58, 59, 60, 
    OPC_EmitInteger, MVT::i32, 30|128,60, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 62, 
    OPC_EmitInteger, MVT::i32, 30|128,60, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 63, 64, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 61, 65, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 67, 68, 69, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 71, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 72, 73, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 70, 74, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 76, 77, 78, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 80, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 81, 82, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 79, 83, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 75, 84, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 85, 86, 87, 88, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 90, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 91, 92, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 89, 93, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 95, 96, 97, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 99, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 100, 101, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 98, 102, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 104, 105, 106, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 108, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 109, 110, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 107, 111, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 103, 112, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 113, 114, 115, 116, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 118, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 119, 120, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 117, 121, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 94, 122, 
    OPC_EmitInteger, MVT::i32, 8, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 54, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 123, 124, 125, 126, 
    OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 0|128,1, 
    OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 1|128,1, 2|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 127, 3|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 66, 4|128,1, 
    OPC_EmitInteger, MVT::i32, 48, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 5|128,1, 6|128,1, 7|128,1, 8|128,1, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 10|128,1, 11|128,1, 12|128,1, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 14|128,1, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 15|128,1, 16|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 13|128,1, 17|128,1, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 19|128,1, 20|128,1, 21|128,1, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 23|128,1, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 24|128,1, 25|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 22|128,1, 26|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 18|128,1, 27|128,1, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 28|128,1, 29|128,1, 30|128,1, 31|128,1, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 33|128,1, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 34|128,1, 35|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 32|128,1, 36|128,1, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 38|128,1, 39|128,1, 40|128,1, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 42|128,1, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 43|128,1, 44|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 41|128,1, 45|128,1, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 47|128,1, 48|128,1, 49|128,1, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 51|128,1, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 52|128,1, 53|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 50|128,1, 54|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 46|128,1, 55|128,1, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 56|128,1, 57|128,1, 58|128,1, 59|128,1, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 61|128,1, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 62|128,1, 63|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 60|128,1, 64|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 37|128,1, 65|128,1, 
    OPC_EmitInteger, MVT::i32, 56, 
    OPC_EmitInteger, MVT::i32, 8, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 66|128,1, 67|128,1, 68|128,1, 69|128,1, 
    OPC_EmitInteger, MVT::i32, 30|128,60, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 71|128,1, 
    OPC_EmitInteger, MVT::i32, 30|128,60, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 72|128,1, 73|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 70|128,1, 74|128,1, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 76|128,1, 77|128,1, 78|128,1, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 80|128,1, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 81|128,1, 82|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 79|128,1, 83|128,1, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 85|128,1, 86|128,1, 87|128,1, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 89|128,1, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 90|128,1, 91|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 88|128,1, 92|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 84|128,1, 93|128,1, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 94|128,1, 95|128,1, 96|128,1, 97|128,1, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 99|128,1, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 100|128,1, 101|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 98|128,1, 102|128,1, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 104|128,1, 105|128,1, 106|128,1, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 108|128,1, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 109|128,1, 110|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 107|128,1, 111|128,1, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 113|128,1, 114|128,1, 115|128,1, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 117|128,1, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 118|128,1, 119|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 116|128,1, 120|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 112|128,1, 121|128,1, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 122|128,1, 123|128,1, 124|128,1, 125|128,1, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 127|128,1, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 0|128,2, 1|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 126|128,1, 2|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 103|128,1, 3|128,2, 
    OPC_EmitInteger, MVT::i32, 8, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 54, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 4|128,2, 5|128,2, 6|128,2, 7|128,2, 
    OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 9|128,2, 
    OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 10|128,2, 11|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 8|128,2, 12|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 75|128,1, 13|128,2, 
    OPC_EmitInteger, MVT::i32, 16, 
    OPC_EmitInteger, MVT::i32, 16, 
    OPC_EmitInteger, MVT::i32, 30, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWIMI), 0,
                  MVT::i32, 5, 9|128,1, 14|128,2, 15|128,2, 16|128,2, 17|128,2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 19|128,2, 20|128,2, 21|128,2, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 23|128,2, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 24|128,2, 25|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 22|128,2, 26|128,2, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 28|128,2, 29|128,2, 30|128,2, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 32|128,2, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 33|128,2, 34|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 31|128,2, 35|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 27|128,2, 36|128,2, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 37|128,2, 38|128,2, 39|128,2, 40|128,2, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 42|128,2, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 43|128,2, 44|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 41|128,2, 45|128,2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 47|128,2, 48|128,2, 49|128,2, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 51|128,2, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 52|128,2, 53|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 50|128,2, 54|128,2, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 56|128,2, 57|128,2, 58|128,2, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 60|128,2, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 61|128,2, 62|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 59|128,2, 63|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 55|128,2, 64|128,2, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 65|128,2, 66|128,2, 67|128,2, 68|128,2, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 70|128,2, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 71|128,2, 72|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 69|128,2, 73|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 46|128,2, 74|128,2, 
    OPC_EmitInteger, MVT::i32, 56, 
    OPC_EmitInteger, MVT::i32, 8, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 75|128,2, 76|128,2, 77|128,2, 78|128,2, 
    OPC_EmitInteger, MVT::i32, 30|128,60, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 80|128,2, 
    OPC_EmitInteger, MVT::i32, 30|128,60, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 81|128,2, 82|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 79|128,2, 83|128,2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 85|128,2, 86|128,2, 87|128,2, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 89|128,2, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 90|128,2, 91|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 88|128,2, 92|128,2, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 94|128,2, 95|128,2, 96|128,2, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 98|128,2, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 99|128,2, 100|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 97|128,2, 101|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 93|128,2, 102|128,2, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 103|128,2, 104|128,2, 105|128,2, 106|128,2, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 108|128,2, 
    OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 109|128,2, 110|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 107|128,2, 111|128,2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 113|128,2, 114|128,2, 115|128,2, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 117|128,2, 
    OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 118|128,2, 119|128,2, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 116|128,2, 120|128,2, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 0, 122|128,2, 123|128,2, 124|128,2, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 126|128,2, 
    OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 127|128,2, 0|128,3, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 125|128,2, 1|128,3, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 121|128,2, 2|128,3, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 3|128,3, 4|128,3, 5|128,3, 6|128,3, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 8|128,3, 
    OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 9|128,3, 10|128,3, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 7|128,3, 11|128,3, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 112|128,2, 12|128,3, 
    OPC_EmitInteger, MVT::i32, 8, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 54, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 13|128,3, 14|128,3, 15|128,3, 16|128,3, 
    OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                  MVT::i32, 1, 18|128,3, 
    OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
    OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                  MVT::i32, 2, 19|128,3, 20|128,3, 
    OPC_EmitNode1, TARGET_VAL(PPC::AND), 0,
                  MVT::i32, 2, 17|128,3, 21|128,3, 
    OPC_EmitNode1, TARGET_VAL(PPC::OR), 0,
                  MVT::i32, 2, 84|128,2, 22|128,3, 
    OPC_EmitInteger, MVT::i32, 16, 
    OPC_EmitInteger, MVT::i32, 48, 
    OPC_EmitInteger, MVT::i32, 62, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWIMI), 0,
                  MVT::i32, 5, 18|128,2, 23|128,3, 24|128,3, 25|128,3, 26|128,3, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 64, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::RLDICL_32), 0,
                  MVT::i32, 3, 27|128,3, 28|128,3, 29|128,3, 
   0, 
  61|128,86, MVT::i64,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 2, 3, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 6, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 7, 8, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 5, 9, 10, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 11, 12, 13, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 14, 15, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 16, 17, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 4, 18, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 20, 21, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 24, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 25, 26, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 23, 27, 28, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 29, 30, 31, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 32, 33, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 34, 35, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 22, 36, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 19, 37, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 38, 39, 40, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 43, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 44, 45, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 42, 46, 47, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 48, 49, 50, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 51, 52, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 53, 54, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 41, 55, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 57, 58, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 61, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 62, 63, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 60, 64, 65, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 66, 67, 68, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 69, 70, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 71, 72, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 59, 73, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 75, 76, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 79, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 80, 81, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 78, 82, 83, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 84, 85, 86, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 87, 88, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 89, 90, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 77, 91, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 74, 92, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitInteger, MVT::i32, 122, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 93, 94, 95, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 98, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 99, 100, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 97, 101, 102, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 103, 104, 105, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 106, 107, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 108, 109, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 96, 110, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 56, 111, 
   OPC_EmitInteger, MVT::i32, 120, 
   OPC_EmitInteger, MVT::i32, 8, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 112, 113, 114, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 117, 
   OPC_EmitInteger, MVT::i32, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 118, 119, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 116, 120, 121, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 122, 123, 124, 
   OPC_EmitInteger, MVT::i64, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 125, 126, 
   OPC_EmitInteger, MVT::i64, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 127, 0|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 115, 1|128,1, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 3|128,1, 4|128,1, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 7|128,1, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 8|128,1, 9|128,1, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 6|128,1, 10|128,1, 11|128,1, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 12|128,1, 13|128,1, 14|128,1, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 15|128,1, 16|128,1, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 17|128,1, 18|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 5|128,1, 19|128,1, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 21|128,1, 22|128,1, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 25|128,1, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 26|128,1, 27|128,1, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 24|128,1, 28|128,1, 29|128,1, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 30|128,1, 31|128,1, 32|128,1, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 33|128,1, 34|128,1, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 35|128,1, 36|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 23|128,1, 37|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 20|128,1, 38|128,1, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 39|128,1, 40|128,1, 41|128,1, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 44|128,1, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 45|128,1, 46|128,1, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 43|128,1, 47|128,1, 48|128,1, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 49|128,1, 50|128,1, 51|128,1, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 52|128,1, 53|128,1, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 54|128,1, 55|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 42|128,1, 56|128,1, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 58|128,1, 59|128,1, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 62|128,1, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 63|128,1, 64|128,1, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 61|128,1, 65|128,1, 66|128,1, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 67|128,1, 68|128,1, 69|128,1, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 70|128,1, 71|128,1, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 72|128,1, 73|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 60|128,1, 74|128,1, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 76|128,1, 77|128,1, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 80|128,1, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 81|128,1, 82|128,1, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 79|128,1, 83|128,1, 84|128,1, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 85|128,1, 86|128,1, 87|128,1, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 88|128,1, 89|128,1, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 90|128,1, 91|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 78|128,1, 92|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 75|128,1, 93|128,1, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitInteger, MVT::i32, 122, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 94|128,1, 95|128,1, 96|128,1, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 99|128,1, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 100|128,1, 101|128,1, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 98|128,1, 102|128,1, 103|128,1, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 104|128,1, 105|128,1, 106|128,1, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 107|128,1, 108|128,1, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 109|128,1, 110|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 97|128,1, 111|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 57|128,1, 112|128,1, 
   OPC_EmitInteger, MVT::i32, 8, 
   OPC_EmitInteger, MVT::i32, 118, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 113|128,1, 114|128,1, 115|128,1, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 118|128,1, 
   OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 119|128,1, 120|128,1, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 117|128,1, 121|128,1, 122|128,1, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 123|128,1, 124|128,1, 125|128,1, 
   OPC_EmitInteger, MVT::i64, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 126|128,1, 127|128,1, 
   OPC_EmitInteger, MVT::i64, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 0|128,2, 1|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 116|128,1, 2|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 2|128,1, 3|128,2, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                 MVT::i32, 2, 4|128,2, 5|128,2, 
   OPC_EmitInteger, MVT::i32, 48, 
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                 MVT::i32, 4, 6|128,2, 7|128,2, 8|128,2, 9|128,2, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 11|128,2, 12|128,2, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 15|128,2, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 16|128,2, 17|128,2, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 14|128,2, 18|128,2, 19|128,2, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 20|128,2, 21|128,2, 22|128,2, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 23|128,2, 24|128,2, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 25|128,2, 26|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 13|128,2, 27|128,2, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 29|128,2, 30|128,2, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 33|128,2, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 34|128,2, 35|128,2, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 32|128,2, 36|128,2, 37|128,2, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 38|128,2, 39|128,2, 40|128,2, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 41|128,2, 42|128,2, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 43|128,2, 44|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 31|128,2, 45|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 28|128,2, 46|128,2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 47|128,2, 48|128,2, 49|128,2, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 52|128,2, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 53|128,2, 54|128,2, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 51|128,2, 55|128,2, 56|128,2, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 57|128,2, 58|128,2, 59|128,2, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 60|128,2, 61|128,2, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 62|128,2, 63|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 50|128,2, 64|128,2, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 66|128,2, 67|128,2, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 70|128,2, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 71|128,2, 72|128,2, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 69|128,2, 73|128,2, 74|128,2, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 75|128,2, 76|128,2, 77|128,2, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 78|128,2, 79|128,2, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 80|128,2, 81|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 68|128,2, 82|128,2, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 84|128,2, 85|128,2, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 88|128,2, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 89|128,2, 90|128,2, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 87|128,2, 91|128,2, 92|128,2, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 93|128,2, 94|128,2, 95|128,2, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 96|128,2, 97|128,2, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 98|128,2, 99|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 86|128,2, 100|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 83|128,2, 101|128,2, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitInteger, MVT::i32, 122, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 102|128,2, 103|128,2, 104|128,2, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 107|128,2, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 108|128,2, 109|128,2, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 106|128,2, 110|128,2, 111|128,2, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 112|128,2, 113|128,2, 114|128,2, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 115|128,2, 116|128,2, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 117|128,2, 118|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 105|128,2, 119|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 65|128,2, 120|128,2, 
   OPC_EmitInteger, MVT::i32, 120, 
   OPC_EmitInteger, MVT::i32, 8, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 121|128,2, 122|128,2, 123|128,2, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 126|128,2, 
   OPC_EmitInteger, MVT::i32, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 127|128,2, 0|128,3, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 125|128,2, 1|128,3, 2|128,3, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 3|128,3, 4|128,3, 5|128,3, 
   OPC_EmitInteger, MVT::i64, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 6|128,3, 7|128,3, 
   OPC_EmitInteger, MVT::i64, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 8|128,3, 9|128,3, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 124|128,2, 10|128,3, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 12|128,3, 13|128,3, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 16|128,3, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 17|128,3, 18|128,3, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 15|128,3, 19|128,3, 20|128,3, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 21|128,3, 22|128,3, 23|128,3, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 24|128,3, 25|128,3, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 26|128,3, 27|128,3, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 14|128,3, 28|128,3, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 30|128,3, 31|128,3, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 34|128,3, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 35|128,3, 36|128,3, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 33|128,3, 37|128,3, 38|128,3, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 39|128,3, 40|128,3, 41|128,3, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 42|128,3, 43|128,3, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 44|128,3, 45|128,3, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 32|128,3, 46|128,3, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 29|128,3, 47|128,3, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 48|128,3, 49|128,3, 50|128,3, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 53|128,3, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 54|128,3, 55|128,3, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 52|128,3, 56|128,3, 57|128,3, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 58|128,3, 59|128,3, 60|128,3, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 61|128,3, 62|128,3, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 63|128,3, 64|128,3, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 51|128,3, 65|128,3, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 67|128,3, 68|128,3, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 71|128,3, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 72|128,3, 73|128,3, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 70|128,3, 74|128,3, 75|128,3, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 76|128,3, 77|128,3, 78|128,3, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 79|128,3, 80|128,3, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 81|128,3, 82|128,3, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 69|128,3, 83|128,3, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 85|128,3, 86|128,3, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 89|128,3, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 90|128,3, 91|128,3, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 88|128,3, 92|128,3, 93|128,3, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 94|128,3, 95|128,3, 96|128,3, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 97|128,3, 98|128,3, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 99|128,3, 100|128,3, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 87|128,3, 101|128,3, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 84|128,3, 102|128,3, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitInteger, MVT::i32, 122, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 103|128,3, 104|128,3, 105|128,3, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 108|128,3, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 109|128,3, 110|128,3, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 107|128,3, 111|128,3, 112|128,3, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 113|128,3, 114|128,3, 115|128,3, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 116|128,3, 117|128,3, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 118|128,3, 119|128,3, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 106|128,3, 120|128,3, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 66|128,3, 121|128,3, 
   OPC_EmitInteger, MVT::i32, 8, 
   OPC_EmitInteger, MVT::i32, 118, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 122|128,3, 123|128,3, 124|128,3, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 127|128,3, 
   OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 0|128,4, 1|128,4, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 126|128,3, 2|128,4, 3|128,4, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 4|128,4, 5|128,4, 6|128,4, 
   OPC_EmitInteger, MVT::i64, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 7|128,4, 8|128,4, 
   OPC_EmitInteger, MVT::i64, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 9|128,4, 10|128,4, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 125|128,3, 11|128,4, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 11|128,3, 12|128,4, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                 MVT::i32, 2, 13|128,4, 14|128,4, 
   OPC_EmitInteger, MVT::i32, 16, 
   OPC_EmitInteger, MVT::i32, 16, 
   OPC_EmitInteger, MVT::i32, 30, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLWIMI), 0,
                 MVT::i32, 5, 10|128,2, 15|128,4, 16|128,4, 17|128,4, 18|128,4, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 20|128,4, 21|128,4, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 24|128,4, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 25|128,4, 26|128,4, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 23|128,4, 27|128,4, 28|128,4, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 29|128,4, 30|128,4, 31|128,4, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 32|128,4, 33|128,4, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 34|128,4, 35|128,4, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 22|128,4, 36|128,4, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 38|128,4, 39|128,4, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 42|128,4, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 43|128,4, 44|128,4, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 41|128,4, 45|128,4, 46|128,4, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 47|128,4, 48|128,4, 49|128,4, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 50|128,4, 51|128,4, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 52|128,4, 53|128,4, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 40|128,4, 54|128,4, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 37|128,4, 55|128,4, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 56|128,4, 57|128,4, 58|128,4, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 61|128,4, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 62|128,4, 63|128,4, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 60|128,4, 64|128,4, 65|128,4, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 66|128,4, 67|128,4, 68|128,4, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 69|128,4, 70|128,4, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 71|128,4, 72|128,4, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 59|128,4, 73|128,4, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 75|128,4, 76|128,4, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 79|128,4, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 80|128,4, 81|128,4, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 78|128,4, 82|128,4, 83|128,4, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 84|128,4, 85|128,4, 86|128,4, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 87|128,4, 88|128,4, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 89|128,4, 90|128,4, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 77|128,4, 91|128,4, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 93|128,4, 94|128,4, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 97|128,4, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 98|128,4, 99|128,4, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 96|128,4, 100|128,4, 101|128,4, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 102|128,4, 103|128,4, 104|128,4, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 105|128,4, 106|128,4, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 107|128,4, 108|128,4, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 95|128,4, 109|128,4, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 92|128,4, 110|128,4, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitInteger, MVT::i32, 122, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 111|128,4, 112|128,4, 113|128,4, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 116|128,4, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 117|128,4, 118|128,4, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 115|128,4, 119|128,4, 120|128,4, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 121|128,4, 122|128,4, 123|128,4, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 124|128,4, 125|128,4, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 126|128,4, 127|128,4, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 114|128,4, 0|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 74|128,4, 1|128,5, 
   OPC_EmitInteger, MVT::i32, 120, 
   OPC_EmitInteger, MVT::i32, 8, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 2|128,5, 3|128,5, 4|128,5, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 7|128,5, 
   OPC_EmitInteger, MVT::i32, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 8|128,5, 9|128,5, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 6|128,5, 10|128,5, 11|128,5, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 12|128,5, 13|128,5, 14|128,5, 
   OPC_EmitInteger, MVT::i64, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 15|128,5, 16|128,5, 
   OPC_EmitInteger, MVT::i64, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 17|128,5, 18|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 5|128,5, 19|128,5, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 21|128,5, 22|128,5, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 25|128,5, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 26|128,5, 27|128,5, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 24|128,5, 28|128,5, 29|128,5, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 30|128,5, 31|128,5, 32|128,5, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 33|128,5, 34|128,5, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 35|128,5, 36|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 23|128,5, 37|128,5, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 39|128,5, 40|128,5, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 43|128,5, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 44|128,5, 45|128,5, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 42|128,5, 46|128,5, 47|128,5, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 48|128,5, 49|128,5, 50|128,5, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 51|128,5, 52|128,5, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 53|128,5, 54|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 41|128,5, 55|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 38|128,5, 56|128,5, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 57|128,5, 58|128,5, 59|128,5, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 62|128,5, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 63|128,5, 64|128,5, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 61|128,5, 65|128,5, 66|128,5, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 67|128,5, 68|128,5, 69|128,5, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 70|128,5, 71|128,5, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 72|128,5, 73|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 60|128,5, 74|128,5, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 76|128,5, 77|128,5, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 80|128,5, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 81|128,5, 82|128,5, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 79|128,5, 83|128,5, 84|128,5, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 85|128,5, 86|128,5, 87|128,5, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 88|128,5, 89|128,5, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 90|128,5, 91|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 78|128,5, 92|128,5, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 94|128,5, 95|128,5, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 98|128,5, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 99|128,5, 100|128,5, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 97|128,5, 101|128,5, 102|128,5, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 103|128,5, 104|128,5, 105|128,5, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 106|128,5, 107|128,5, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 108|128,5, 109|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 96|128,5, 110|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 93|128,5, 111|128,5, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitInteger, MVT::i32, 122, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 112|128,5, 113|128,5, 114|128,5, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 117|128,5, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 118|128,5, 119|128,5, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 116|128,5, 120|128,5, 121|128,5, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 122|128,5, 123|128,5, 124|128,5, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 125|128,5, 126|128,5, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 127|128,5, 0|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 115|128,5, 1|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 75|128,5, 2|128,6, 
   OPC_EmitInteger, MVT::i32, 8, 
   OPC_EmitInteger, MVT::i32, 118, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 3|128,6, 4|128,6, 5|128,6, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 8|128,6, 
   OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 9|128,6, 10|128,6, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 7|128,6, 11|128,6, 12|128,6, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 13|128,6, 14|128,6, 15|128,6, 
   OPC_EmitInteger, MVT::i64, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 16|128,6, 17|128,6, 
   OPC_EmitInteger, MVT::i64, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 18|128,6, 19|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 6|128,6, 20|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 20|128,5, 21|128,6, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                 MVT::i32, 2, 22|128,6, 23|128,6, 
   OPC_EmitInteger, MVT::i32, 16, 
   OPC_EmitInteger, MVT::i32, 48, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLWIMI), 0,
                 MVT::i32, 5, 19|128,4, 24|128,6, 25|128,6, 26|128,6, 27|128,6, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 1, 28|128,6, 29|128,6, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 30|128,6, 31|128,6, 32|128,6, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 35|128,6, 36|128,6, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 39|128,6, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 40|128,6, 41|128,6, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 38|128,6, 42|128,6, 43|128,6, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 44|128,6, 45|128,6, 46|128,6, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 47|128,6, 48|128,6, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 49|128,6, 50|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 37|128,6, 51|128,6, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 53|128,6, 54|128,6, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 57|128,6, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 58|128,6, 59|128,6, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 56|128,6, 60|128,6, 61|128,6, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 62|128,6, 63|128,6, 64|128,6, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 65|128,6, 66|128,6, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 67|128,6, 68|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 55|128,6, 69|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 52|128,6, 70|128,6, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 71|128,6, 72|128,6, 73|128,6, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 76|128,6, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 77|128,6, 78|128,6, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 75|128,6, 79|128,6, 80|128,6, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 81|128,6, 82|128,6, 83|128,6, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 84|128,6, 85|128,6, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 86|128,6, 87|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 74|128,6, 88|128,6, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 90|128,6, 91|128,6, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 94|128,6, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 95|128,6, 96|128,6, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 93|128,6, 97|128,6, 98|128,6, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 99|128,6, 100|128,6, 101|128,6, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 102|128,6, 103|128,6, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 104|128,6, 105|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 92|128,6, 106|128,6, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 108|128,6, 109|128,6, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 112|128,6, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 113|128,6, 114|128,6, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 111|128,6, 115|128,6, 116|128,6, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 117|128,6, 118|128,6, 119|128,6, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 120|128,6, 121|128,6, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 122|128,6, 123|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 110|128,6, 124|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 107|128,6, 125|128,6, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitInteger, MVT::i32, 122, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 126|128,6, 127|128,6, 0|128,7, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 3|128,7, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 4|128,7, 5|128,7, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 2|128,7, 6|128,7, 7|128,7, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 8|128,7, 9|128,7, 10|128,7, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 11|128,7, 12|128,7, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 13|128,7, 14|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 1|128,7, 15|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 89|128,6, 16|128,7, 
   OPC_EmitInteger, MVT::i32, 120, 
   OPC_EmitInteger, MVT::i32, 8, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 17|128,7, 18|128,7, 19|128,7, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 22|128,7, 
   OPC_EmitInteger, MVT::i32, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 23|128,7, 24|128,7, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 21|128,7, 25|128,7, 26|128,7, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 27|128,7, 28|128,7, 29|128,7, 
   OPC_EmitInteger, MVT::i64, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 30|128,7, 31|128,7, 
   OPC_EmitInteger, MVT::i64, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 32|128,7, 33|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 20|128,7, 34|128,7, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 36|128,7, 37|128,7, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 40|128,7, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 41|128,7, 42|128,7, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 39|128,7, 43|128,7, 44|128,7, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 45|128,7, 46|128,7, 47|128,7, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 48|128,7, 49|128,7, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 50|128,7, 51|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 38|128,7, 52|128,7, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 54|128,7, 55|128,7, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 58|128,7, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 59|128,7, 60|128,7, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 57|128,7, 61|128,7, 62|128,7, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 63|128,7, 64|128,7, 65|128,7, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 66|128,7, 67|128,7, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 68|128,7, 69|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 56|128,7, 70|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 53|128,7, 71|128,7, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 72|128,7, 73|128,7, 74|128,7, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 77|128,7, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 78|128,7, 79|128,7, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 76|128,7, 80|128,7, 81|128,7, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 82|128,7, 83|128,7, 84|128,7, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 85|128,7, 86|128,7, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 87|128,7, 88|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 75|128,7, 89|128,7, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 91|128,7, 92|128,7, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 95|128,7, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 96|128,7, 97|128,7, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 94|128,7, 98|128,7, 99|128,7, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 100|128,7, 101|128,7, 102|128,7, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 103|128,7, 104|128,7, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 105|128,7, 106|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 93|128,7, 107|128,7, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 109|128,7, 110|128,7, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 113|128,7, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 114|128,7, 115|128,7, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 112|128,7, 116|128,7, 117|128,7, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 118|128,7, 119|128,7, 120|128,7, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 121|128,7, 122|128,7, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 123|128,7, 124|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 111|128,7, 125|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 108|128,7, 126|128,7, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitInteger, MVT::i32, 122, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 127|128,7, 0|128,8, 1|128,8, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 4|128,8, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 5|128,8, 6|128,8, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 3|128,8, 7|128,8, 8|128,8, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 9|128,8, 10|128,8, 11|128,8, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 12|128,8, 13|128,8, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 14|128,8, 15|128,8, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 2|128,8, 16|128,8, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 90|128,7, 17|128,8, 
   OPC_EmitInteger, MVT::i32, 8, 
   OPC_EmitInteger, MVT::i32, 118, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 18|128,8, 19|128,8, 20|128,8, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 23|128,8, 
   OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 24|128,8, 25|128,8, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 22|128,8, 26|128,8, 27|128,8, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 28|128,8, 29|128,8, 30|128,8, 
   OPC_EmitInteger, MVT::i64, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 31|128,8, 32|128,8, 
   OPC_EmitInteger, MVT::i64, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 33|128,8, 34|128,8, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 21|128,8, 35|128,8, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 35|128,7, 36|128,8, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 37|128,8, 38|128,8, 39|128,8, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                 MVT::i32, 2, 40|128,8, 41|128,8, 
   OPC_EmitInteger, MVT::i32, 48, 
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                 MVT::i32, 4, 42|128,8, 43|128,8, 44|128,8, 45|128,8, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 47|128,8, 48|128,8, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 51|128,8, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 52|128,8, 53|128,8, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 50|128,8, 54|128,8, 55|128,8, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 56|128,8, 57|128,8, 58|128,8, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 59|128,8, 60|128,8, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 61|128,8, 62|128,8, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 49|128,8, 63|128,8, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 65|128,8, 66|128,8, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 69|128,8, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 70|128,8, 71|128,8, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 68|128,8, 72|128,8, 73|128,8, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 74|128,8, 75|128,8, 76|128,8, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 77|128,8, 78|128,8, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 79|128,8, 80|128,8, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 67|128,8, 81|128,8, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 64|128,8, 82|128,8, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 83|128,8, 84|128,8, 85|128,8, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 88|128,8, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 89|128,8, 90|128,8, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 87|128,8, 91|128,8, 92|128,8, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 93|128,8, 94|128,8, 95|128,8, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 96|128,8, 97|128,8, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 98|128,8, 99|128,8, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 86|128,8, 100|128,8, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 102|128,8, 103|128,8, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 106|128,8, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 107|128,8, 108|128,8, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 105|128,8, 109|128,8, 110|128,8, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 111|128,8, 112|128,8, 113|128,8, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 114|128,8, 115|128,8, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 116|128,8, 117|128,8, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 104|128,8, 118|128,8, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 120|128,8, 121|128,8, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 124|128,8, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 125|128,8, 126|128,8, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 123|128,8, 127|128,8, 0|128,9, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 1|128,9, 2|128,9, 3|128,9, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 4|128,9, 5|128,9, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 6|128,9, 7|128,9, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 122|128,8, 8|128,9, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 119|128,8, 9|128,9, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitInteger, MVT::i32, 122, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 10|128,9, 11|128,9, 12|128,9, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 15|128,9, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 16|128,9, 17|128,9, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 14|128,9, 18|128,9, 19|128,9, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 20|128,9, 21|128,9, 22|128,9, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 23|128,9, 24|128,9, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 25|128,9, 26|128,9, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 13|128,9, 27|128,9, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 101|128,8, 28|128,9, 
   OPC_EmitInteger, MVT::i32, 120, 
   OPC_EmitInteger, MVT::i32, 8, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 29|128,9, 30|128,9, 31|128,9, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 34|128,9, 
   OPC_EmitInteger, MVT::i32, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 35|128,9, 36|128,9, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 33|128,9, 37|128,9, 38|128,9, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 39|128,9, 40|128,9, 41|128,9, 
   OPC_EmitInteger, MVT::i64, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 42|128,9, 43|128,9, 
   OPC_EmitInteger, MVT::i64, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 44|128,9, 45|128,9, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 32|128,9, 46|128,9, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 48|128,9, 49|128,9, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 52|128,9, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 53|128,9, 54|128,9, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 51|128,9, 55|128,9, 56|128,9, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 57|128,9, 58|128,9, 59|128,9, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 60|128,9, 61|128,9, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 62|128,9, 63|128,9, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 50|128,9, 64|128,9, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 66|128,9, 67|128,9, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 70|128,9, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 71|128,9, 72|128,9, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 69|128,9, 73|128,9, 74|128,9, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 75|128,9, 76|128,9, 77|128,9, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 78|128,9, 79|128,9, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 80|128,9, 81|128,9, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 68|128,9, 82|128,9, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 65|128,9, 83|128,9, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 84|128,9, 85|128,9, 86|128,9, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 89|128,9, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 90|128,9, 91|128,9, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 88|128,9, 92|128,9, 93|128,9, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 94|128,9, 95|128,9, 96|128,9, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 97|128,9, 98|128,9, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 99|128,9, 100|128,9, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 87|128,9, 101|128,9, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 103|128,9, 104|128,9, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 107|128,9, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 108|128,9, 109|128,9, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 106|128,9, 110|128,9, 111|128,9, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 112|128,9, 113|128,9, 114|128,9, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 115|128,9, 116|128,9, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 117|128,9, 118|128,9, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 105|128,9, 119|128,9, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 121|128,9, 122|128,9, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 125|128,9, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 126|128,9, 127|128,9, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 124|128,9, 0|128,10, 1|128,10, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 2|128,10, 3|128,10, 4|128,10, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 5|128,10, 6|128,10, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 7|128,10, 8|128,10, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 123|128,9, 9|128,10, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 120|128,9, 10|128,10, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitInteger, MVT::i32, 122, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 11|128,10, 12|128,10, 13|128,10, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 16|128,10, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 17|128,10, 18|128,10, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 15|128,10, 19|128,10, 20|128,10, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 21|128,10, 22|128,10, 23|128,10, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 24|128,10, 25|128,10, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 26|128,10, 27|128,10, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 14|128,10, 28|128,10, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 102|128,9, 29|128,10, 
   OPC_EmitInteger, MVT::i32, 8, 
   OPC_EmitInteger, MVT::i32, 118, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 30|128,10, 31|128,10, 32|128,10, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 35|128,10, 
   OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 36|128,10, 37|128,10, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 34|128,10, 38|128,10, 39|128,10, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 40|128,10, 41|128,10, 42|128,10, 
   OPC_EmitInteger, MVT::i64, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 43|128,10, 44|128,10, 
   OPC_EmitInteger, MVT::i64, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 45|128,10, 46|128,10, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 33|128,10, 47|128,10, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 47|128,9, 48|128,10, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 49|128,10, 50|128,10, 51|128,10, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                 MVT::i32, 2, 52|128,10, 53|128,10, 
   OPC_EmitInteger, MVT::i32, 16, 
   OPC_EmitInteger, MVT::i32, 16, 
   OPC_EmitInteger, MVT::i32, 30, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLWIMI), 0,
                 MVT::i32, 5, 46|128,8, 54|128,10, 55|128,10, 56|128,10, 57|128,10, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 59|128,10, 60|128,10, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 63|128,10, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 64|128,10, 65|128,10, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 62|128,10, 66|128,10, 67|128,10, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 68|128,10, 69|128,10, 70|128,10, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 71|128,10, 72|128,10, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 73|128,10, 74|128,10, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 61|128,10, 75|128,10, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 77|128,10, 78|128,10, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 81|128,10, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 82|128,10, 83|128,10, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 80|128,10, 84|128,10, 85|128,10, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 86|128,10, 87|128,10, 88|128,10, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 89|128,10, 90|128,10, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 91|128,10, 92|128,10, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 79|128,10, 93|128,10, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 76|128,10, 94|128,10, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 95|128,10, 96|128,10, 97|128,10, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 100|128,10, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 101|128,10, 102|128,10, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 99|128,10, 103|128,10, 104|128,10, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 105|128,10, 106|128,10, 107|128,10, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 108|128,10, 109|128,10, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 110|128,10, 111|128,10, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 98|128,10, 112|128,10, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 114|128,10, 115|128,10, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 118|128,10, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 119|128,10, 120|128,10, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 117|128,10, 121|128,10, 122|128,10, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 123|128,10, 124|128,10, 125|128,10, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 126|128,10, 127|128,10, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 0|128,11, 1|128,11, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 116|128,10, 2|128,11, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 4|128,11, 5|128,11, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 8|128,11, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 9|128,11, 10|128,11, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 7|128,11, 11|128,11, 12|128,11, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 13|128,11, 14|128,11, 15|128,11, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 16|128,11, 17|128,11, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 18|128,11, 19|128,11, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 6|128,11, 20|128,11, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 3|128,11, 21|128,11, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitInteger, MVT::i32, 122, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 22|128,11, 23|128,11, 24|128,11, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 27|128,11, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 28|128,11, 29|128,11, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 26|128,11, 30|128,11, 31|128,11, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 32|128,11, 33|128,11, 34|128,11, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 35|128,11, 36|128,11, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 37|128,11, 38|128,11, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 25|128,11, 39|128,11, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 113|128,10, 40|128,11, 
   OPC_EmitInteger, MVT::i32, 120, 
   OPC_EmitInteger, MVT::i32, 8, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 41|128,11, 42|128,11, 43|128,11, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 46|128,11, 
   OPC_EmitInteger, MVT::i32, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 47|128,11, 48|128,11, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 45|128,11, 49|128,11, 50|128,11, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 51|128,11, 52|128,11, 53|128,11, 
   OPC_EmitInteger, MVT::i64, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 54|128,11, 55|128,11, 
   OPC_EmitInteger, MVT::i64, 30|128,60, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 56|128,11, 57|128,11, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 44|128,11, 58|128,11, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 60|128,11, 61|128,11, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 64|128,11, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 65|128,11, 66|128,11, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 63|128,11, 67|128,11, 68|128,11, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 69|128,11, 70|128,11, 71|128,11, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 72|128,11, 73|128,11, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 74|128,11, 75|128,11, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 62|128,11, 76|128,11, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 78|128,11, 79|128,11, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 82|128,11, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 83|128,11, 84|128,11, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 81|128,11, 85|128,11, 86|128,11, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 87|128,11, 88|128,11, 89|128,11, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 90|128,11, 91|128,11, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 92|128,11, 93|128,11, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 80|128,11, 94|128,11, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 77|128,11, 95|128,11, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 96|128,11, 97|128,11, 98|128,11, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 101|128,11, 
   OPC_EmitInteger, MVT::i32, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 102|128,11, 103|128,11, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 100|128,11, 104|128,11, 105|128,11, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 106|128,11, 107|128,11, 108|128,11, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 109|128,11, 110|128,11, 
   OPC_EmitInteger, MVT::i64, 102|128,76|128,1, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 111|128,11, 112|128,11, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 99|128,11, 113|128,11, 
   OPC_EmitInteger, MVT::i32, 126, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 0, 115|128,11, 116|128,11, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 119|128,11, 
   OPC_EmitInteger, MVT::i32, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 120|128,11, 121|128,11, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 118|128,11, 122|128,11, 123|128,11, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 124|128,11, 125|128,11, 126|128,11, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 127|128,11, 0|128,12, 
   OPC_EmitInteger, MVT::i64, 42|128,85|128,2, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 1|128,12, 2|128,12, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 117|128,11, 3|128,12, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 124, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 0, 5|128,12, 6|128,12, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 9|128,12, 
   OPC_EmitInteger, MVT::i32, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 10|128,12, 11|128,12, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 8|128,12, 12|128,12, 13|128,12, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 14|128,12, 15|128,12, 16|128,12, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 17|128,12, 18|128,12, 
   OPC_EmitInteger, MVT::i64, 84|128,42|128,5, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 19|128,12, 20|128,12, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 7|128,12, 21|128,12, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 4|128,12, 22|128,12, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitInteger, MVT::i32, 122, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 23|128,12, 24|128,12, 25|128,12, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 28|128,12, 
   OPC_EmitInteger, MVT::i32, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 29|128,12, 30|128,12, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 27|128,12, 31|128,12, 32|128,12, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 33|128,12, 34|128,12, 35|128,12, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 36|128,12, 37|128,12, 
   OPC_EmitInteger, MVT::i64, 24|128,51|128,6, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 38|128,12, 39|128,12, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 26|128,12, 40|128,12, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 114|128,11, 41|128,12, 
   OPC_EmitInteger, MVT::i32, 8, 
   OPC_EmitInteger, MVT::i32, 118, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 42|128,12, 43|128,12, 44|128,12, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::i64, 0, 
   OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::LIS), 0,
                 MVT::i32, 1, 47|128,12, 
   OPC_EmitInteger, MVT::i32, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI), 0,
                 MVT::i32, 2, 48|128,12, 49|128,12, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 46|128,12, 50|128,12, 51|128,12, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                 MVT::i64, 3, 52|128,12, 53|128,12, 54|128,12, 
   OPC_EmitInteger, MVT::i64, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORIS8), 0,
                 MVT::i64, 2, 55|128,12, 56|128,12, 
   OPC_EmitInteger, MVT::i64, 96|128,67|128,7, 
   OPC_EmitNode1, TARGET_VAL(PPC::ORI8), 0,
                 MVT::i64, 2, 57|128,12, 58|128,12, 
   OPC_EmitNode1, TARGET_VAL(PPC::AND8), 0,
                 MVT::i64, 2, 45|128,12, 59|128,12, 
   OPC_EmitNode1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 59|128,11, 60|128,12, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitInteger, MVT::i32, 64, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLDICL), 0,
                 MVT::i64, 3, 61|128,12, 62|128,12, 63|128,12, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                 MVT::i32, 2, 64|128,12, 65|128,12, 
   OPC_EmitInteger, MVT::i32, 16, 
   OPC_EmitInteger, MVT::i32, 48, 
   OPC_EmitInteger, MVT::i32, 62, 
   OPC_EmitNode1, TARGET_VAL(PPC::RLWIMI), 0,
                 MVT::i32, 5, 58|128,10, 66|128,12, 67|128,12, 68|128,12, 69|128,12, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::i64, 3, 34|128,6, 70|128,12, 71|128,12, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::OR8), 0,
                 MVT::i64, 2, 33|128,6, 72|128,12, 
  0,
 108|128,19, TARGET_VAL(PPCISD::FCFIDUS),
  OPC_Scope, 78|128,19, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 43|128,18, TARGET_VAL(PPCISD::MTVSRZ),
    OPC_MoveChild0,
    OPC_Scope, 101|128,2, 
     OPC_CheckAndImm, 127|128,127|128,3, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 42, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 12, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 8, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 10, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 12, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 14, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     0, 
    60|128,5, 
     OPC_CheckAndImm, 127|128,1, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 42, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 12, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 8, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 10, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 12, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 14, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 16, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 32, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 18, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 36, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 20, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 40, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 22, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 44, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 24, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 48, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 26, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 52, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 28, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 56, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 30, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 60, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     0, 
    101|128,2, 
     OPC_CheckAndImm, 127|128,127|128,3, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 42, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 8, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 12, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 10, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 12, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 14, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     0, 
    60|128,5, 
     OPC_CheckAndImm, 127|128,1, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 42, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 30, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 8, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 10, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 12, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 18, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 14, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 16, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 14, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 18, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 12, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 20, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 10, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 22, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 24, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 6, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 26, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 28, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     42, 
      OPC_CheckChild1Integer, 30, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     0, 
    92|128,1, 
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 52, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 3,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                     MVT::f32, 1, 2, 
      20, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                     MVT::f32, 1, 2, 
      0, 
     52, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 3,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                     MVT::f32, 1, 2, 
      20, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                     MVT::f32, 1, 2, 
      0, 
     52, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 3,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                     MVT::f32, 1, 2, 
      20, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                     MVT::f32, 1, 2, 
      0, 
     52, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 3,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                     MVT::f32, 1, 2, 
      20, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                     MVT::f32, 1, 2, 
      0, 
     0, 
    0, 
   24|128,1, TARGET_VAL(PPCISD::MTVSRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_CheckType, MVT::i64,
    OPC_Scope, 64, 
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_Scope, 20, 
      OPC_CheckPatternPredicate, 41,
      OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 0, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 2, 
     32, 
      OPC_CheckPatternPredicate, 2,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 0, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     0, 
    75, 
     OPC_CheckChild1Integer, 2, 
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_Scope, 32, 
      OPC_CheckPatternPredicate, 41,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 0, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     31, 
      OPC_CheckPatternPredicate, 2,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                    MVT::f32, 1, 4, 
     0, 
    0, 
   0,
  25, 
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                  MVT::f32, 1, 0, 
   7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FCFIDUS), 0,
                  MVT::f32, 1, 0, 
   0, 
  0, 
 78|128,25, TARGET_VAL(PPCISD::FCFIDU),
  OPC_Scope, 50|128,25, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 67|128,17, TARGET_VAL(PPCISD::MTVSRZ),
    OPC_MoveChild0,
    OPC_Scope, 85|128,2, 
     OPC_CheckAndImm, 127|128,127|128,3, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 40, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 12, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 8, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 10, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 12, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 14, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     0, 
    28|128,5, 
     OPC_CheckAndImm, 127|128,1, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 40, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 12, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 8, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 10, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 12, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 14, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 16, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 32, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 18, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 36, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 20, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 40, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 22, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 44, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 24, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 48, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 26, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 52, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 28, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 56, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 30, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 60, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     0, 
    85|128,2, 
     OPC_CheckAndImm, 127|128,127|128,3, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 40, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 8, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 12, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 10, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 12, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 14, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     0, 
    28|128,5, 
     OPC_CheckAndImm, 127|128,1, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 40, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 30, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 8, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 10, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 12, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 18, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 14, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 16, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 14, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 18, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 12, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 20, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 10, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 22, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 24, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 6, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 26, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 28, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     40, 
      OPC_CheckChild1Integer, 30, 
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                    MVT::f64, 1, 4, 
     0, 
    84|128,1, 
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 50, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 3,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                     MVT::f64, 1, 2, 
      20, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                     MVT::f64, 1, 2, 
      0, 
     50, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 3,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                     MVT::f64, 1, 2, 
      20, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                     MVT::f64, 1, 2, 
      0, 
     50, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 3,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                     MVT::f64, 1, 2, 
      20, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                     MVT::f64, 1, 2, 
      0, 
     50, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 3,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                     MVT::f64, 1, 2, 
      20, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                     MVT::f64, 1, 2, 
      0, 
     0, 
    0, 
   100|128,7, TARGET_VAL(PPCISD::MTVSRA),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 73|128,6, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 51, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 30, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                    MVT::f64, 1, 5, 
     51, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                    MVT::f64, 1, 5, 
     51, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                    MVT::f64, 1, 5, 
     51, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                    MVT::f64, 1, 5, 
     51, 
      OPC_CheckChild1Integer, 8, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                    MVT::f64, 1, 5, 
     51, 
      OPC_CheckChild1Integer, 10, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                    MVT::f64, 1, 5, 
     51, 
      OPC_CheckChild1Integer, 12, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 18, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                    MVT::f64, 1, 5, 
     51, 
      OPC_CheckChild1Integer, 14, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                    MVT::f64, 1, 5, 
     51, 
      OPC_CheckChild1Integer, 16, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 14, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                    MVT::f64, 1, 5, 
     51, 
      OPC_CheckChild1Integer, 18, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 12, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                    MVT::f64, 1, 5, 
     51, 
      OPC_CheckChild1Integer, 20, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 10, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                    MVT::f64, 1, 5, 
     51, 
      OPC_CheckChild1Integer, 22, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                    MVT::f64, 1, 5, 
     51, 
      OPC_CheckChild1Integer, 24, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 6, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                    MVT::f64, 1, 5, 
     51, 
      OPC_CheckChild1Integer, 26, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                    MVT::f64, 1, 5, 
     51, 
      OPC_CheckChild1Integer, 28, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                    MVT::f64, 1, 5, 
     51, 
      OPC_CheckChild1Integer, 30, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                    MVT::f64, 1, 5, 
     0, 
    16|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_CheckType, MVT::i64,
     OPC_Scope, 62, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 40,
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                     MVT::f64, 1, 2, 
      32, 
       OPC_CheckPatternPredicate, 28,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v4i32, 3, 0, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                     MVT::f64, 1, 4, 
      0, 
     73, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32, 
       OPC_CheckPatternPredicate, 40,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v4i32, 3, 0, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                     MVT::f64, 1, 4, 
      31, 
       OPC_CheckPatternPredicate, 28,
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                     MVT::f64, 1, 4, 
      0, 
     0, 
    0,
   0,
  23, 
   OPC_RecordChild0,
   OPC_CheckType, MVT::f64,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                  MVT::f64, 1, 0, 
   7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FCFIDU), 0,
                  MVT::f64, 1, 0, 
   0, 
  0, 
 11|128,21, TARGET_VAL(ISD::UINT_TO_FP),
  OPC_Scope, 24|128,20, 
   OPC_MoveChild0,
   OPC_Scope, 77|128,2, 
    OPC_CheckAndImm, 127|128,127|128,3, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_Scope, 39, 
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 2, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 4, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 6, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 12, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 8, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 16, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 10, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 20, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 12, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 24, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 14, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    0, 
   12|128,5, 
    OPC_CheckAndImm, 127|128,1, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_Scope, 39, 
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 2, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 4, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 6, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 8, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 10, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 10, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 12, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 12, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 14, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 14, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 16, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 16, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 18, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 18, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 20, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 20, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 22, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 22, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 24, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 24, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 26, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 26, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 28, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 30, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 5,
     OPC_EmitInteger, MVT::i32, 30, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    0, 
   77|128,2, 
    OPC_CheckAndImm, 127|128,127|128,3, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_Scope, 39, 
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 2, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 24, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 4, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 20, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 6, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 16, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 8, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 12, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 10, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 12, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 14, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    0, 
   12|128,5, 
    OPC_CheckAndImm, 127|128,1, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_Scope, 39, 
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 30, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 2, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 4, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 26, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 6, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 24, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 8, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 22, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 10, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 20, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 12, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 18, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 14, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 16, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 16, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 14, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 18, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 12, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 20, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 10, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 22, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 24, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 26, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 28, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    39, 
     OPC_CheckChild1Integer, 30, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                   MVT::f128, 2, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 4, 
    0, 
   29|128,1, 
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 19,
    OPC_Scope, 56, 
     OPC_CheckPredicate, 24,
     OPC_SwitchType , 24, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0|OPFL_Chain,
                    MVT::f128, 1, 4, 
     24, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0|OPFL_Chain,
                    MVT::f128, 1, 4, 
     0,
    60, 
     OPC_CheckPredicate, 20,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 26, 
      OPC_CheckPredicate, 8,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0|OPFL_Chain,
                    MVT::f128, 1, 4, 
     26, 
      OPC_CheckPredicate, 7,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0|OPFL_Chain,
                    MVT::f128, 1, 4, 
     0, 
    28, 
     OPC_CheckPredicate, 24,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LXSDX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0|OPFL_Chain,
                   MVT::f128, 1, 4, 
    0, 
   84|128,2, 
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 114, 
     OPC_CheckChild1Integer, 0, 
     OPC_SwitchType , 59, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                     MVT::f128, 1, 2, 
      32, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v4i32, 3, 0, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                     MVT::f128, 1, 4, 
      0, 
     47, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                     MVT::f128, 1, 2, 
      20, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                     MVT::f128, 1, 2, 
      0, 
     0,
    114, 
     OPC_CheckChild1Integer, 2, 
     OPC_SwitchType , 47, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                     MVT::f128, 1, 2, 
      20, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                     MVT::f128, 1, 2, 
      0, 
     59, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                     MVT::f128, 1, 2, 
      32, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v4i32, 3, 0, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                     MVT::f128, 1, 4, 
      0, 
     0,
    51, 
     OPC_CheckChild1Integer, 4, 
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_Scope, 20, 
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                    MVT::f64, 2, 0, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                    MVT::f128, 1, 2, 
     20, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                    MVT::f64, 2, 0, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                    MVT::f128, 1, 2, 
     0, 
    51, 
     OPC_CheckChild1Integer, 6, 
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_Scope, 20, 
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                    MVT::f64, 2, 0, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                    MVT::f128, 1, 2, 
     20, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                    MVT::f64, 2, 0, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                    MVT::f128, 1, 2, 
     0, 
    0, 
   101, 
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::f64,
    OPC_SwitchType , 12, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 0, 
    77, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_Scope, 35, 
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 1, 0, 2, 
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                    MVT::f128, 1, 5, 
     35, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 1, 0, 2, 
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXEXTRACTUW), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                    MVT::f128, 1, 5, 
     0, 
    0,
   0, 
  110, 
   OPC_RecordChild0,
   OPC_Scope, 24, 
    OPC_CheckChild0Type, MVT::i64,
    OPC_CheckType, MVT::f128,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                  MVT::f128, 1, 2, 
   44, 
    OPC_CheckChild0Type, MVT::i32,
    OPC_SwitchType , 16, MVT::f128,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                   MVT::f64, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0,
                   MVT::f128, 1, 1, 
    9, MVT::f64,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDCFUI), 0,
                   MVT::f64, 1, 0, 
    9, MVT::f32,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSCFUI), 0,
                   MVT::f32, 1, 0, 
    0,
   11, 
    OPC_CheckType, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVUXDDP), 0,
                  MVT::v2f64, 1, 0, 
   24, 
    OPC_CheckType, MVT::v4f32,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVUXWSP), 0,
                   MVT::v4f32, 1, 0, 
    9, 
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VCFUX_0), 0,
                   MVT::v4f32, 1, 0, 
    0, 
   0, 
  0, 
 38, TARGET_VAL(PPCISD::LXSIZX),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 16, 
   OPC_CheckChild2Integer, 2, 
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain,
                 MVT::f64, 2, 2, 3, 
  16, 
   OPC_CheckChild2Integer, 4, 
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain,
                 MVT::f64, 2, 2, 3, 
  0, 
 123|128,21, TARGET_VAL(PPCISD::FCFIDS),
  OPC_Scope, 93|128,21, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 19|128,18, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 4|128,6, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 95, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 20, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 12, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 8, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 12, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 10, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 20, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 12, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 14, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     0, 
    4|128,12, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 95, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 30, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 26, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 12, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 8, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 22, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 10, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 20, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 20, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 12, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 18, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 14, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 16, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 32, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 14, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 18, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 36, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 12, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 20, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 40, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 10, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 22, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 44, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 24, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 48, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 26, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 52, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 28, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 56, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     95, 
      OPC_CheckChild1Integer, 30, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 60, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                     MVT::f32, 1, 5, 
      0, 
     0, 
    0, 
   59|128,3, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 76, 
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_CheckType, MVT::i64,
     OPC_Scope, 28, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 41,
      OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 0, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                    MVT::f32, 1, 2, 
     40, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 41,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 0, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                    MVT::f32, 1, 4, 
     0, 
    112, 
     OPC_CheckChild1Integer, 0, 
     OPC_SwitchType , 64, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 27, 
       OPC_CheckPatternPredicate, 41,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                     MVT::v4i32, 2, 0, 1, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWSP), 0,
                     MVT::v4i32, 1, 2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                     MVT::f32, 1, 3, 
      27, 
       OPC_CheckPatternPredicate, 2,
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                     MVT::v4i32, 2, 0, 1, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWSP), 0,
                     MVT::v4i32, 1, 2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                     MVT::f32, 1, 3, 
      0, 
     40, MVT::i64,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 2,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 0, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                    MVT::f32, 1, 4, 
     0,
    111, 
     OPC_CheckChild1Integer, 2, 
     OPC_SwitchType , 64, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 27, 
       OPC_CheckPatternPredicate, 41,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                     MVT::v4i32, 2, 0, 1, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWSP), 0,
                     MVT::v4i32, 1, 2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                     MVT::f32, 1, 3, 
      27, 
       OPC_CheckPatternPredicate, 2,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                     MVT::v4i32, 2, 0, 1, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWSP), 0,
                     MVT::v4i32, 1, 2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                     MVT::f32, 1, 3, 
      0, 
     39, MVT::i64,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 2,
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 0, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                    MVT::f32, 1, 4, 
     0,
    68, 
     OPC_CheckChild1Integer, 4, 
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_Scope, 27, 
      OPC_CheckPatternPredicate, 41,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                    MVT::v4i32, 2, 0, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWSP), 0,
                    MVT::v4i32, 1, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                    MVT::f32, 1, 3, 
     27, 
      OPC_CheckPatternPredicate, 2,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                    MVT::v4i32, 2, 0, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWSP), 0,
                    MVT::v4i32, 1, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                    MVT::f32, 1, 3, 
     0, 
    68, 
     OPC_CheckChild1Integer, 6, 
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_Scope, 27, 
      OPC_CheckPatternPredicate, 41,
      OPC_EmitInteger, MVT::i32, 6, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                    MVT::v4i32, 2, 0, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWSP), 0,
                    MVT::v4i32, 1, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                    MVT::f32, 1, 3, 
     27, 
      OPC_CheckPatternPredicate, 2,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                    MVT::v4i32, 2, 0, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWSP), 0,
                    MVT::v4i32, 1, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSPDPN), 0,
                    MVT::f32, 1, 3, 
     0, 
    0, 
   0,
  25, 
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                  MVT::f32, 1, 0, 
   7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FCFIDS), 0,
                  MVT::f32, 1, 0, 
   0, 
  0, 
 74|128,21, TARGET_VAL(PPCISD::FCFID),
  OPC_Scope, 46|128,21, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 99|128,17, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 116|128,5, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 93, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 20, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 12, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 8, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 12, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 10, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 20, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 12, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 14, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     0, 
    100|128,11, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 93, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 30, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 26, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 12, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 8, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 22, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 10, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 20, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 20, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 12, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 18, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 14, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 16, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 32, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 14, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 18, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 36, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 12, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 20, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 40, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 10, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 22, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 44, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 24, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 48, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 26, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 52, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 28, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 56, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     93, 
      OPC_CheckChild1Integer, 30, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 60, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 5, 
      0, 
     0, 
    0, 
   60|128,3, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_SwitchType , 13|128,1, MVT::i64,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_Scope, 62, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 40,
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 2, 
      32, 
       OPC_CheckPatternPredicate, 28,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v4i32, 3, 0, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 4, 
      0, 
     73, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32, 
       OPC_CheckPatternPredicate, 40,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v4i32, 3, 0, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 4, 
      31, 
       OPC_CheckPatternPredicate, 28,
       OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                     MVT::f64, 1, 4, 
      0, 
     0, 
    38|128,2, MVT::i32,
     OPC_Scope, 72, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 31, 
       OPC_CheckPatternPredicate, 41,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                     MVT::v4i32, 2, 0, 1, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                     MVT::v4i32, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 3, 4, 
      31, 
       OPC_CheckPatternPredicate, 2,
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                     MVT::v4i32, 2, 0, 1, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                     MVT::v4i32, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 3, 4, 
      0, 
     72, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 31, 
       OPC_CheckPatternPredicate, 41,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                     MVT::v4i32, 2, 0, 1, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                     MVT::v4i32, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 3, 4, 
      31, 
       OPC_CheckPatternPredicate, 2,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                     MVT::v4i32, 2, 0, 1, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                     MVT::v4i32, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 3, 4, 
      0, 
     72, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 31, 
       OPC_CheckPatternPredicate, 41,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                     MVT::v4i32, 2, 0, 1, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                     MVT::v4i32, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 3, 4, 
      31, 
       OPC_CheckPatternPredicate, 2,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                     MVT::v4i32, 2, 0, 1, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                     MVT::v4i32, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 3, 4, 
      0, 
     72, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 31, 
       OPC_CheckPatternPredicate, 41,
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                     MVT::v4i32, 2, 0, 1, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                     MVT::v4i32, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 3, 4, 
      31, 
       OPC_CheckPatternPredicate, 2,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                     MVT::v4i32, 2, 0, 1, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                     MVT::v4i32, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 3, 4, 
      0, 
     0, 
    0,
   0,
  23, 
   OPC_RecordChild0,
   OPC_CheckType, MVT::f64,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                  MVT::f64, 1, 0, 
   7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FCFID), 0,
                  MVT::f64, 1, 0, 
   0, 
  0, 
 126, TARGET_VAL(ISD::FP_ROUND),
  OPC_Scope, 50, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_RecordChild1,
   OPC_CheckPredicate, 19,
   OPC_CheckPredicate, 22,
   OPC_CheckPredicate, 25,
   OPC_CheckType, MVT::f64,
   OPC_MoveParent,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 14, 
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/1, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f32, 2, 2, 3, 
   14, 
    OPC_CheckPatternPredicate, 12,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f32, 2, 2, 3, 
   0, 
  72, 
   OPC_RecordChild0,
   OPC_SwitchType , 56, MVT::f32,
    OPC_Scope, 34, 
     OPC_CheckChild0Type, MVT::f64,
     OPC_Scope, 9, 
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRSP), 0,
                    MVT::f32, 1, 0, 
     9, 
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::FRSP), 0,
                    MVT::f32, 1, 0, 
     9, 
      OPC_CheckPatternPredicate, 14,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSCFD), 0,
                    MVT::f32, 1, 0, 
     0, 
    18, 
     OPC_CheckChild0Type, MVT::f128,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPDPO), 0,
                   MVT::f64, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRSP), 0,
                   MVT::f32, 1, 1, 
    0, 
   9, MVT::f64,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVQPDP), 0,
                  MVT::f64, 1, 0, 
   0,
  0, 
 68|128,1, TARGET_VAL(ISD::STRICT_SINT_TO_FP),
  OPC_RecordNode,
  OPC_Scope, 88, 
   OPC_MoveChild1,
   OPC_SwitchOpcode , 37, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::f128,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/2,
    OPC_EmitMergeInputChains, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 2, 3, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0|OPFL_Chain,
                  MVT::f128, 1, 5, 
   42, TARGET_VAL(PPCISD::MFVSR),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::f64,
    OPC_SwitchType , 13, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0|OPFL_Chain,
                   MVT::f128, 1, 1, 
    20, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTSW2Ds), 0|OPFL_Chain,
                   MVT::f64, 1, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0|OPFL_Chain,
                   MVT::f128, 1, 2, 
    0,
   0,
  103, 
   OPC_RecordChild1,
   OPC_Scope, 25, 
    OPC_CheckChild1Type, MVT::i64,
    OPC_CheckType, MVT::f128,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 1, 2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0|OPFL_Chain,
                  MVT::f128, 1, 3, 
   47, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_SwitchType , 17, MVT::f128,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWA), 0,
                   MVT::f64, 1, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0|OPFL_Chain,
                   MVT::f128, 1, 2, 
    10, MVT::f64,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDCFSI), 0|OPFL_Chain,
                   MVT::f64, 1, 1, 
    10, MVT::f32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSCFSI), 0|OPFL_Chain,
                   MVT::f32, 1, 1, 
    0,
   12, 
    OPC_CheckType, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSXDDP), 0|OPFL_Chain,
                  MVT::v2f64, 1, 1, 
   12, 
    OPC_CheckType, MVT::v4f32,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSXWSP), 0|OPFL_Chain,
                  MVT::v4f32, 1, 1, 
   0, 
  0, 
 24|128,23, TARGET_VAL(ISD::SINT_TO_FP),
  OPC_Scope, 37|128,22, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 84, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate, 24,
    OPC_SwitchType , 24, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0|OPFL_Chain,
                   MVT::f128, 1, 4, 
    47, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 8,
     OPC_Scope, 19, 
      OPC_CheckComplexPat, /*CP*/1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0|OPFL_Chain,
                    MVT::f128, 1, 4, 
     19, 
      OPC_CheckComplexPat, /*CP*/2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSDX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0|OPFL_Chain,
                    MVT::f128, 1, 4, 
     0, 
    0,
   75|128,17, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 108|128,5, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 92, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 20, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 12, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 8, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 12, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 10, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 20, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 12, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 14, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUH), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     0, 
    84|128,11, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 92, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 30, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 26, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 8, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 22, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 10, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 10, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 20, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 12, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 12, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 18, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 14, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 14, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 16, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 16, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 14, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 18, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 18, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 12, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 20, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 20, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 10, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 22, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 22, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 8, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 24, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 24, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 26, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 26, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 28, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     92, 
      OPC_CheckChild1Integer, 30, 
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 30, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTRACTUB), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     0, 
    0, 
   77|128,3, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 22|128,1, 
     OPC_CheckChild1Integer, 0, 
     OPC_SwitchType , 59, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 2, 
      32, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v4i32, 3, 0, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 4, 
      0, 
     83, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 38, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSPLTW), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSW2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSPLTW), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSW2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     0,
    11|128,1, 
     OPC_CheckChild1Integer, 2, 
     OPC_SwitchType , 59, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 20, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 2, 
      32, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v4i32, 3, 0, 0, 1, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 2, 3, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 4, 
      0, 
     72, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 27, 
       OPC_CheckPatternPredicate, 5,
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSW2D), 0,
                     MVT::f128, 1, 0, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 1, 2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 3, 
      38, 
       OPC_CheckPatternPredicate, 4,
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_EmitNode1, TARGET_VAL(PPC::VSPLTW), 0,
                     MVT::f128, 2, 1, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::VEXTSW2D), 0,
                     MVT::f128, 1, 2, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                     MVT::f64, 2, 3, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                     MVT::f128, 1, 5, 
      0, 
     0,
    76, 
     OPC_CheckChild1Integer, 4, 
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_Scope, 27, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSW2D), 0,
                    MVT::f128, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 1, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                    MVT::f128, 1, 3, 
     38, 
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSPLTW), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSW2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                    MVT::f128, 1, 5, 
     0, 
    87, 
     OPC_CheckChild1Integer, 6, 
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_Scope, 38, 
      OPC_CheckPatternPredicate, 5,
      OPC_EmitInteger, MVT::i32, 6, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSPLTW), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSW2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                    MVT::f128, 1, 5, 
     38, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VSPLTW), 0,
                    MVT::f128, 2, 1, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSW2D), 0,
                    MVT::f128, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::f64, 2, 3, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                    MVT::f128, 1, 5, 
     0, 
    0, 
   40, TARGET_VAL(PPCISD::MFVSR),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::f64,
    OPC_SwitchType , 12, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                   MVT::f128, 1, 0, 
    19, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTSW2Ds), 0,
                   MVT::f64, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                   MVT::f128, 1, 1, 
    0,
   0,
  110, 
   OPC_RecordChild0,
   OPC_Scope, 24, 
    OPC_CheckChild0Type, MVT::i64,
    OPC_CheckType, MVT::f128,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                  MVT::f128, 1, 2, 
   44, 
    OPC_CheckChild0Type, MVT::i32,
    OPC_SwitchType , 16, MVT::f128,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWA), 0,
                   MVT::f64, 1, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVSDQP), 0,
                   MVT::f128, 1, 1, 
    9, MVT::f64,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDCFSI), 0,
                   MVT::f64, 1, 0, 
    9, MVT::f32,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSCFSI), 0,
                   MVT::f32, 1, 0, 
    0,
   11, 
    OPC_CheckType, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSXDDP), 0,
                  MVT::v2f64, 1, 0, 
   24, 
    OPC_CheckType, MVT::v4f32,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSXWSP), 0,
                   MVT::v4f32, 1, 0, 
    9, 
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VCFSX_0), 0,
                   MVT::v4f32, 1, 0, 
    0, 
   0, 
  0, 
 44|128,1, TARGET_VAL(ISD::STRICT_UINT_TO_FP),
  OPC_RecordNode,
  OPC_Scope, 64, 
   OPC_MoveChild1,
   OPC_SwitchOpcode , 37, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::f128,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/2,
    OPC_EmitMergeInputChains, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 2, 3, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0|OPFL_Chain,
                  MVT::f128, 1, 5, 
   18, TARGET_VAL(PPCISD::MFVSR),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f128,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0|OPFL_Chain,
                  MVT::f128, 1, 1, 
   0,
  103, 
   OPC_RecordChild1,
   OPC_Scope, 25, 
    OPC_CheckChild1Type, MVT::i64,
    OPC_CheckType, MVT::f128,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 1, 2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0|OPFL_Chain,
                  MVT::f128, 1, 3, 
   47, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_SwitchType , 17, MVT::f128,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                   MVT::f64, 1, 1, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVUDQP), 0|OPFL_Chain,
                   MVT::f128, 1, 2, 
    10, MVT::f64,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDCFUI), 0|OPFL_Chain,
                   MVT::f64, 1, 1, 
    10, MVT::f32,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSCFUI), 0|OPFL_Chain,
                   MVT::f32, 1, 1, 
    0,
   12, 
    OPC_CheckType, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVUXDDP), 0|OPFL_Chain,
                  MVT::v2f64, 1, 1, 
   12, 
    OPC_CheckType, MVT::v4f32,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVUXWSP), 0|OPFL_Chain,
                  MVT::v4f32, 1, 1, 
   0, 
  0, 
 100|128,7, TARGET_VAL(ISD::FNEG),
  OPC_Scope, 118|128,2, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 40, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 124|128,116, 
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_Scope, 18, 
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMSUBQPO), 0,
                   MVT::f128, 3, 2, 0, 1, 
    13, 
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMADDQPO), 0,
                   MVT::f128, 3, 2, 0, 1, 
    0, 
   104, TARGET_VAL(ISD::STRICT_FMA),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_Scope, 51, 
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 12, MVT::f64,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMSUBADP), 0|OPFL_Chain,
                    MVT::f64, 3, 3, 1, 2, 
     12, MVT::f32,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMSUBASP), 0|OPFL_Chain,
                    MVT::f32, 3, 3, 1, 2, 
     12, MVT::f128,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMSUBQP), 0|OPFL_Chain,
                    MVT::f128, 3, 3, 1, 2, 
     0,
    46, 
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_SwitchType , 12, MVT::f64,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMADDADP), 0|OPFL_Chain,
                    MVT::f64, 3, 3, 1, 2, 
     12, MVT::f32,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMADDASP), 0|OPFL_Chain,
                    MVT::f32, 3, 3, 1, 2, 
     12, MVT::f128,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMADDQP), 0|OPFL_Chain,
                    MVT::f128, 3, 3, 1, 2, 
     0,
    0, 
   97, TARGET_VAL(ISD::FMA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 48, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::f64,
      OPC_CheckPatternPredicate, 15,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMSUBADP), 0,
                    MVT::f64, 3, 2, 0, 1, 
     11, MVT::f32,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMSUBASP), 0,
                    MVT::f32, 3, 2, 0, 1, 
     11, MVT::f128,
      OPC_CheckPatternPredicate, 8,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMSUBQP), 0,
                    MVT::f128, 3, 2, 0, 1, 
     0,
    43, 
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::f64,
      OPC_CheckPatternPredicate, 15,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMADDADP), 0,
                    MVT::f64, 3, 2, 0, 1, 
     11, MVT::f32,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMADDASP), 0,
                    MVT::f32, 3, 2, 0, 1, 
     11, MVT::f128,
      OPC_CheckPatternPredicate, 8,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMADDQP), 0,
                    MVT::f128, 3, 2, 0, 1, 
     0,
    0, 
   70, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::f64,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNABSDP), 0,
                   MVT::f64, 1, 0, 
    42, MVT::f32,
     OPC_CheckPatternPredicate, 15,
     OPC_Scope, 7, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNABSDPs), 0,
                    MVT::f32, 1, 0, 
     29, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f64, 2, 0, 1, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSNABSDP), 0,
                    MVT::f64, 1, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f32, 2, 3, 4, 
     0, 
    9, MVT::f128,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNABSQP), 0,
                   MVT::f128, 1, 0, 
    0,
   45, TARGET_VAL(PPCISD::FNMSUB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_SwitchType , 11, MVT::f64,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMSUBADP), 0,
                   MVT::f64, 3, 2, 0, 1, 
    11, MVT::f32,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMSUBASP), 0,
                   MVT::f32, 3, 2, 0, 1, 
    11, MVT::f128,
     OPC_CheckPatternPredicate, 8,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMSUBQP), 0,
                   MVT::f128, 3, 2, 0, 1, 
    0,
   0,
  58, 
   OPC_RecordChild0,
   OPC_SwitchType , 9, MVT::f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNEGDP), 0,
                  MVT::f64, 1, 0, 
   9, MVT::f128,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNEGQP), 0,
                  MVT::f128, 1, 0, 
   31, MVT::f32,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSNEGDP), 0,
                  MVT::f64, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 3, 4, 
   0,
  118|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 76, TARGET_VAL(ISD::STRICT_FMA),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_Scope, 37, 
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 12, MVT::f64,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::FNMSUB), 0|OPFL_Chain,
                    MVT::f64, 3, 1, 2, 3, 
     12, MVT::f32,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::FNMSUBS), 0|OPFL_Chain,
                    MVT::f32, 3, 1, 2, 3, 
     0,
    32, 
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_SwitchType , 12, MVT::f64,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::FNMADD), 0|OPFL_Chain,
                    MVT::f64, 3, 1, 2, 3, 
     12, MVT::f32,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::FNMADDS), 0|OPFL_Chain,
                    MVT::f32, 3, 1, 2, 3, 
     0,
    0, 
   71, TARGET_VAL(ISD::FMA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 35, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::f64,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::FNMSUB), 0,
                    MVT::f64, 3, 0, 1, 2, 
     11, MVT::f32,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::FNMSUBS), 0,
                    MVT::f32, 3, 0, 1, 2, 
     0,
    30, 
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::f64,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::FNMADD), 0,
                    MVT::f64, 3, 0, 1, 2, 
     11, MVT::f32,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::FNMADDS), 0,
                    MVT::f32, 3, 0, 1, 2, 
     0,
    0, 
   52, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 22, MVT::f32,
     OPC_Scope, 9, 
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::FNABSS), 0,
                    MVT::f32, 1, 0, 
     9, 
      OPC_CheckPatternPredicate, 14,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSNABS), 0,
                    MVT::f32, 1, 0, 
     0, 
    22, MVT::f64,
     OPC_Scope, 9, 
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::FNABSD), 0,
                    MVT::f64, 1, 0, 
     9, 
      OPC_CheckPatternPredicate, 14,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDNABS), 0,
                    MVT::f64, 1, 0, 
     0, 
    0,
   32, TARGET_VAL(PPCISD::FNMSUB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_SwitchType , 11, MVT::f64,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::FMSUB), 0,
                   MVT::f64, 3, 0, 1, 2, 
    11, MVT::f32,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::FMSUBS), 0,
                   MVT::f32, 3, 0, 1, 2, 
    0,
   0,
  51, 
   OPC_RecordChild0,
   OPC_SwitchType , 22, MVT::f32,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::FNEGS), 0,
                   MVT::f32, 1, 0, 
    9, 
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSNEG), 0,
                   MVT::f32, 1, 0, 
    0, 
   22, MVT::f64,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::FNEGD), 0,
                   MVT::f64, 1, 0, 
    9, 
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDNEG), 0,
                   MVT::f64, 1, 0, 
    0, 
   0,
  76|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 60, TARGET_VAL(ISD::STRICT_FMA),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_Scope, 37, 
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 12, MVT::v2f64,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVNMSUBADP), 0|OPFL_Chain,
                    MVT::v2f64, 3, 3, 1, 2, 
     12, MVT::v4f32,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVNMSUBASP), 0|OPFL_Chain,
                    MVT::v4f32, 3, 3, 1, 2, 
     0,
    16, 
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2f64,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVNMADDADP), 0|OPFL_Chain,
                   MVT::v2f64, 3, 3, 1, 2, 
    0, 
   71, TARGET_VAL(ISD::FMA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 35, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::v2f64,
      OPC_CheckPatternPredicate, 15,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVNMSUBADP), 0,
                    MVT::v2f64, 3, 2, 0, 1, 
     11, MVT::v4f32,
      OPC_CheckPatternPredicate, 15,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVNMSUBASP), 0,
                    MVT::v4f32, 3, 2, 0, 1, 
     0,
    30, 
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::v2f64,
      OPC_CheckPatternPredicate, 15,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVNMADDADP), 0,
                    MVT::v2f64, 3, 2, 0, 1, 
     11, MVT::v4f32,
      OPC_CheckPatternPredicate, 15,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVNMADDASP), 0,
                    MVT::v4f32, 3, 2, 0, 1, 
     0,
    0, 
   26, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::v2f64,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVNABSDP), 0,
                   MVT::v2f64, 1, 0, 
    9, MVT::v4f32,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVNABSSP), 0,
                   MVT::v4f32, 1, 0, 
    0,
   32, TARGET_VAL(PPCISD::FNMSUB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_SwitchType , 11, MVT::v2f64,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMSUBADP), 0,
                   MVT::v2f64, 3, 2, 0, 1, 
    11, MVT::v4f32,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMSUBASP), 0,
                   MVT::v4f32, 3, 2, 0, 1, 
    0,
   0,
  25, 
   OPC_RecordChild0,
   OPC_SwitchType , 9, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVNEGDP), 0,
                  MVT::v2f64, 1, 0, 
   9, MVT::v4f32,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVNEGSP), 0,
                  MVT::v4f32, 1, 0, 
   0,
  26, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMA),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4f32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VNMSUBFP), 0,
                 MVT::v4f32, 3, 0, 1, 2, 
  0, 
 35, TARGET_VAL(PPCISD::LFIWAX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 14, 
   OPC_CheckPatternPredicate, 12,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::f64, 2, 2, 3, 
  14, 
   OPC_CheckPatternPredicate, 13,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LFIWAX), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::f64, 2, 2, 3, 
  0, 
 35, TARGET_VAL(PPCISD::LFIWZX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 14, 
   OPC_CheckPatternPredicate, 12,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::f64, 2, 2, 3, 
  14, 
   OPC_CheckPatternPredicate, 13,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LFIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::f64, 2, 2, 3, 
  0, 
 25|128,2, TARGET_VAL(ISD::FMINNUM_IEEE),
  OPC_Scope, 88, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_Scope, 65, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::f64,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMINDP), 0,
                   MVT::f64, 2, 0, 1, 
    43, MVT::f32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 1, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XSMINDP), 0,
                   MVT::f64, 2, 3, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f32, 2, 6, 7, 
    0,
   13, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMINDP), 0,
                  MVT::f64, 2, 0, 1, 
   0, 
  19, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckType, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMINDP), 0,
                 MVT::f64, 2, 0, 1, 
  52, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 0, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 1, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::XSMINDP), 0,
                 MVT::f64, 2, 3, 5, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f32, 2, 6, 7, 
  116, 
   OPC_RecordChild0,
   OPC_Scope, 51, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 1, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSMINDP), 0,
                  MVT::f64, 2, 3, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 6, 7, 
   60, 
    OPC_RecordChild1,
    OPC_SwitchType , 10, MVT::f64,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMINDP), 0,
                   MVT::f64, 2, 0, 1, 
    43, MVT::f32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 1, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XSMINDP), 0,
                   MVT::f64, 2, 3, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f32, 2, 6, 7, 
    0,
   0, 
  0, 
 25|128,2, TARGET_VAL(ISD::FMAXNUM_IEEE),
  OPC_Scope, 88, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_Scope, 65, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::f64,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMAXDP), 0,
                   MVT::f64, 2, 0, 1, 
    43, MVT::f32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 1, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XSMAXDP), 0,
                   MVT::f64, 2, 3, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f32, 2, 6, 7, 
    0,
   13, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMAXDP), 0,
                  MVT::f64, 2, 0, 1, 
   0, 
  19, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckType, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMAXDP), 0,
                 MVT::f64, 2, 0, 1, 
  52, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 0, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 1, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::XSMAXDP), 0,
                 MVT::f64, 2, 3, 5, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f32, 2, 6, 7, 
  116, 
   OPC_RecordChild0,
   OPC_Scope, 51, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 1, 4, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSMAXDP), 0,
                  MVT::f64, 2, 3, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 6, 7, 
   60, 
    OPC_RecordChild1,
    OPC_SwitchType , 10, MVT::f64,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMAXDP), 0,
                   MVT::f64, 2, 0, 1, 
    43, MVT::f32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 1, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XSMAXDP), 0,
                   MVT::f64, 2, 3, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f32, 2, 6, 7, 
    0,
   0, 
  0, 
 49, TARGET_VAL(PPCISD::VEXTS),
  OPC_RecordChild0,
  OPC_Scope, 22, 
   OPC_CheckChild1Integer, 2, 
   OPC_CheckPatternPredicate, 8,
   OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2Ds), 0,
                 MVT::f64, 1, 0, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 1, 2, 
  22, 
   OPC_CheckChild1Integer, 4, 
   OPC_CheckPatternPredicate, 8,
   OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2Ds), 0,
                 MVT::f64, 1, 0, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 1, 2, 
  0, 
 112|128,1, TARGET_VAL(ISD::STRICT_FMA),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 50, 
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 12, MVT::f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMSUBADP), 0|OPFL_Chain,
                  MVT::f64, 3, 3, 1, 2, 
   12, MVT::f32,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMSUBASP), 0|OPFL_Chain,
                  MVT::f32, 3, 3, 1, 2, 
   12, MVT::f128,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMSUBQP), 0|OPFL_Chain,
                  MVT::f128, 3, 3, 1, 2, 
   0,
  45, 
   OPC_RecordChild3,
   OPC_SwitchType , 12, MVT::f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMADDADP), 0|OPFL_Chain,
                  MVT::f64, 3, 3, 1, 2, 
   12, MVT::f32,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMADDASP), 0|OPFL_Chain,
                  MVT::f32, 3, 3, 1, 2, 
   12, MVT::f128,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMADDQP), 0|OPFL_Chain,
                  MVT::f128, 3, 3, 1, 2, 
   0,
  36, 
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 12, MVT::f64,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FMSUB), 0|OPFL_Chain,
                  MVT::f64, 3, 1, 2, 3, 
   12, MVT::f32,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FMSUBS), 0|OPFL_Chain,
                  MVT::f32, 3, 1, 2, 3, 
   0,
  31, 
   OPC_RecordChild3,
   OPC_SwitchType , 12, MVT::f64,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FMADD), 0|OPFL_Chain,
                  MVT::f64, 3, 1, 2, 3, 
   12, MVT::f32,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FMADDS), 0|OPFL_Chain,
                  MVT::f32, 3, 1, 2, 3, 
   0,
  36, 
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 12, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMSUBADP), 0|OPFL_Chain,
                  MVT::v2f64, 3, 3, 1, 2, 
   12, MVT::v4f32,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMSUBASP), 0|OPFL_Chain,
                  MVT::v4f32, 3, 3, 1, 2, 
   0,
  31, 
   OPC_RecordChild3,
   OPC_SwitchType , 12, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMADDADP), 0|OPFL_Chain,
                  MVT::v2f64, 3, 3, 1, 2, 
   12, MVT::v4f32,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMADDASP), 0|OPFL_Chain,
                  MVT::v4f32, 3, 3, 1, 2, 
   0,
  0, 
 112|128,1, TARGET_VAL(ISD::FMA),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 47, 
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 11, MVT::f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMSUBADP), 0,
                  MVT::f64, 3, 2, 0, 1, 
   11, MVT::f32,
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMSUBASP), 0,
                  MVT::f32, 3, 2, 0, 1, 
   11, MVT::f128,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMSUBQP), 0,
                  MVT::f128, 3, 2, 0, 1, 
   0,
  42, 
   OPC_RecordChild2,
   OPC_SwitchType , 11, MVT::f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMADDADP), 0,
                  MVT::f64, 3, 2, 0, 1, 
   11, MVT::f32,
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMADDASP), 0,
                  MVT::f32, 3, 2, 0, 1, 
   11, MVT::f128,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMADDQP), 0,
                  MVT::f128, 3, 2, 0, 1, 
   0,
  34, 
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 11, MVT::f64,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FMSUB), 0,
                  MVT::f64, 3, 0, 1, 2, 
   11, MVT::f32,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FMSUBS), 0,
                  MVT::f32, 3, 0, 1, 2, 
   0,
  29, 
   OPC_RecordChild2,
   OPC_SwitchType , 11, MVT::f64,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FMADD), 0,
                  MVT::f64, 3, 0, 1, 2, 
   11, MVT::f32,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FMADDS), 0,
                  MVT::f32, 3, 0, 1, 2, 
   0,
  34, 
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 11, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMSUBADP), 0,
                  MVT::v2f64, 3, 2, 0, 1, 
   11, MVT::v4f32,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMSUBASP), 0,
                  MVT::v4f32, 3, 2, 0, 1, 
   0,
  44, 
   OPC_RecordChild2,
   OPC_SwitchType , 11, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMADDADP), 0,
                  MVT::v2f64, 3, 2, 0, 1, 
   26, MVT::v4f32,
    OPC_Scope, 11, 
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMADDASP), 0,
                   MVT::v4f32, 3, 2, 0, 1, 
    11, 
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VMADDFP), 0,
                   MVT::v4f32, 3, 0, 1, 2, 
    0, 
   0,
  0, 
 112|128,1, TARGET_VAL(PPCISD::FNMSUB),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 47, 
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 11, MVT::f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMADDADP), 0,
                  MVT::f64, 3, 2, 0, 1, 
   11, MVT::f32,
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMADDASP), 0,
                  MVT::f32, 3, 2, 0, 1, 
   11, MVT::f128,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMADDQP), 0,
                  MVT::f128, 3, 2, 0, 1, 
   0,
  42, 
   OPC_RecordChild2,
   OPC_SwitchType , 11, MVT::f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMSUBADP), 0,
                  MVT::f64, 3, 2, 0, 1, 
   11, MVT::f32,
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMSUBASP), 0,
                  MVT::f32, 3, 2, 0, 1, 
   11, MVT::f128,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNMSUBQP), 0,
                  MVT::f128, 3, 2, 0, 1, 
   0,
  34, 
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 11, MVT::f64,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FNMADD), 0,
                  MVT::f64, 3, 0, 1, 2, 
   11, MVT::f32,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FNMADDS), 0,
                  MVT::f32, 3, 0, 1, 2, 
   0,
  29, 
   OPC_RecordChild2,
   OPC_SwitchType , 11, MVT::f64,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FNMSUB), 0,
                  MVT::f64, 3, 0, 1, 2, 
   11, MVT::f32,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FNMSUBS), 0,
                  MVT::f32, 3, 0, 1, 2, 
   0,
  34, 
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 11, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVNMADDADP), 0,
                  MVT::v2f64, 3, 2, 0, 1, 
   11, MVT::v4f32,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVNMADDASP), 0,
                  MVT::v4f32, 3, 2, 0, 1, 
   0,
  44, 
   OPC_RecordChild2,
   OPC_SwitchType , 11, MVT::v2f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVNMSUBADP), 0,
                  MVT::v2f64, 3, 2, 0, 1, 
   26, MVT::v4f32,
    OPC_Scope, 11, 
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XVNMSUBASP), 0,
                   MVT::v4f32, 3, 2, 0, 1, 
    11, 
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VNMSUBFP), 0,
                   MVT::v4f32, 3, 0, 1, 2, 
    0, 
   0,
  0, 
 89|128,2, TARGET_VAL(ISD::ConstantFP),
  OPC_Scope, 24, 
   OPC_CheckPredicate, 33,
   OPC_SwitchType , 8, MVT::f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLXORdpz), 0,
                  MVT::f64, 0, 
   8, MVT::f32,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLXORspz), 0,
                  MVT::f32, 0, 
   0,
  19, 
   OPC_CheckPredicate, 34,
   OPC_CheckType, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitNode1, TARGET_VAL(PPC::XXLXORdpz), 0,
                 MVT::f64, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSNEGDP), 0,
                 MVT::f64, 1, 0, 
  59, 
   OPC_RecordNode,
   OPC_CheckPredicate, 35,
   OPC_SwitchType , 25, MVT::f32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitNodeXForm, 11, 1,
    OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTIDP), 0,
                  MVT::v4i32, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 3, 4, 
   25, MVT::f64,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitNodeXForm, 11, 1,
    OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTIDP), 0,
                  MVT::v4i32, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 3, 4, 
   0,
  30, 
   OPC_CheckPredicate, 34,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitNode1, TARGET_VAL(PPC::XXLXORdpz), 0,
                 MVT::f64, 0, 
   OPC_EmitNode1, TARGET_VAL(PPC::XSNEGDP), 0,
                 MVT::f64, 1, 0, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f32, 2, 1, 2, 
  77|128,1, 
   OPC_RecordNode,
   OPC_Scope, 94, 
    OPC_CheckPredicate, 36,
    OPC_SwitchType , 43, MVT::f64,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitNodeXForm, 12, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::VSPLTISW), 0,
                   MVT::f128, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                   MVT::v4i32, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 6, 7, 
    43, MVT::f32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitNodeXForm, 12, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::VSPLTISW), 0,
                   MVT::f128, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                   MVT::v4i32, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f32, 2, 6, 7, 
    0,
   106, 
    OPC_CheckPredicate, 37,
    OPC_SwitchType , 49, MVT::f32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNodeXForm, 13, 0,
     OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTI32DX), 0,
                   MVT::v4i32, 3, 1, 2, 3, 
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNodeXForm, 14, 0,
     OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTI32DX), 0,
                   MVT::v4i32, 3, 4, 5, 6, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f32, 2, 7, 8, 
    49, MVT::f64,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNodeXForm, 13, 0,
     OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTI32DX), 0,
                   MVT::v4i32, 3, 1, 2, 3, 
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNodeXForm, 14, 0,
     OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTI32DX), 0,
                   MVT::v4i32, 3, 4, 5, 6, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 7, 8, 
    0,
   0, 
  0, 
 124, TARGET_VAL(ISD::STRICT_FADD),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 38, MVT::f64,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSADDDP), 0|OPFL_Chain,
                  MVT::f64, 2, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FADD), 0|OPFL_Chain,
                  MVT::f64, 2, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDADD), 0|OPFL_Chain,
                  MVT::f64, 2, 1, 2, 
   0, 
  38, MVT::f32,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 12,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSADDSP), 0|OPFL_Chain,
                  MVT::f32, 2, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FADDS), 0|OPFL_Chain,
                  MVT::f32, 2, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSADD), 0|OPFL_Chain,
                  MVT::f32, 2, 1, 2, 
   0, 
  11, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSADDQP), 0|OPFL_Chain,
                 MVT::f128, 2, 1, 2, 
  11, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVADDDP), 0|OPFL_Chain,
                 MVT::v2f64, 2, 1, 2, 
  11, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVADDSP), 0|OPFL_Chain,
                 MVT::v4f32, 2, 1, 2, 
  0,
 0|128,1, TARGET_VAL(ISD::FADD),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 35, MVT::f64,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSADDDP), 0,
                  MVT::f64, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FADD), 0,
                  MVT::f64, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDADD), 0,
                  MVT::f64, 2, 0, 1, 
   0, 
  35, MVT::f32,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSADDSP), 0,
                  MVT::f32, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FADDS), 0,
                  MVT::f32, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSADD), 0,
                  MVT::f32, 2, 0, 1, 
   0, 
  10, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSADDQP), 0,
                 MVT::f128, 2, 0, 1, 
  10, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVADDDP), 0,
                 MVT::v2f64, 2, 0, 1, 
  24, MVT::v4f32,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVADDSP), 0,
                  MVT::v4f32, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDFP), 0,
                  MVT::v4f32, 2, 0, 1, 
   0, 
  0,
 124, TARGET_VAL(ISD::STRICT_FMUL),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 38, MVT::f64,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMULDP), 0|OPFL_Chain,
                  MVT::f64, 2, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FMUL), 0|OPFL_Chain,
                  MVT::f64, 2, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDMUL), 0|OPFL_Chain,
                  MVT::f64, 2, 1, 2, 
   0, 
  38, MVT::f32,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 12,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMULSP), 0|OPFL_Chain,
                  MVT::f32, 2, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FMULS), 0|OPFL_Chain,
                  MVT::f32, 2, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSMUL), 0|OPFL_Chain,
                  MVT::f32, 2, 1, 2, 
   0, 
  11, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMULQP), 0|OPFL_Chain,
                 MVT::f128, 2, 1, 2, 
  11, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMULDP), 0|OPFL_Chain,
                 MVT::v2f64, 2, 1, 2, 
  11, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMULSP), 0|OPFL_Chain,
                 MVT::v4f32, 2, 1, 2, 
  0,
 21|128,1, TARGET_VAL(ISD::FMUL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 35, MVT::f64,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMULDP), 0,
                  MVT::f64, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FMUL), 0,
                  MVT::f64, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDMUL), 0,
                  MVT::f64, 2, 0, 1, 
   0, 
  35, MVT::f32,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMULSP), 0,
                  MVT::f32, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FMULS), 0,
                  MVT::f32, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSMUL), 0,
                  MVT::f32, 2, 0, 1, 
   0, 
  10, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMULQP), 0,
                 MVT::f128, 2, 0, 1, 
  10, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMULDP), 0,
                 MVT::v2f64, 2, 0, 1, 
  45, MVT::v4f32,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMULSP), 0,
                  MVT::v4f32, 2, 0, 1, 
   31, 
    OPC_CheckPatternPredicate, 16,
    OPC_EmitNode1, TARGET_VAL(PPC::V_SETALLONES), 0,
                  MVT::v4i32, 0, 
    OPC_EmitNode1, TARGET_VAL(PPC::V_SETALLONES), 0,
                  MVT::v4i32, 0, 
    OPC_EmitNode1, TARGET_VAL(PPC::VSLW), 0,
                  MVT::v4i32, 2, 2, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VMADDFP), 0,
                  MVT::v4f32, 3, 0, 1, 4, 
   0, 
  0,
 124, TARGET_VAL(ISD::STRICT_FSUB),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 38, MVT::f64,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSSUBDP), 0|OPFL_Chain,
                  MVT::f64, 2, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FSUB), 0|OPFL_Chain,
                  MVT::f64, 2, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDSUB), 0|OPFL_Chain,
                  MVT::f64, 2, 1, 2, 
   0, 
  38, MVT::f32,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 12,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSSUBSP), 0|OPFL_Chain,
                  MVT::f32, 2, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FSUBS), 0|OPFL_Chain,
                  MVT::f32, 2, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSSUB), 0|OPFL_Chain,
                  MVT::f32, 2, 1, 2, 
   0, 
  11, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSSUBQP), 0|OPFL_Chain,
                 MVT::f128, 2, 1, 2, 
  11, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVSUBDP), 0|OPFL_Chain,
                 MVT::v2f64, 2, 1, 2, 
  11, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVSUBSP), 0|OPFL_Chain,
                 MVT::v4f32, 2, 1, 2, 
  0,
 0|128,1, TARGET_VAL(ISD::FSUB),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 35, MVT::f64,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSSUBDP), 0,
                  MVT::f64, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FSUB), 0,
                  MVT::f64, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDSUB), 0,
                  MVT::f64, 2, 0, 1, 
   0, 
  35, MVT::f32,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSSUBSP), 0,
                  MVT::f32, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FSUBS), 0,
                  MVT::f32, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSSUB), 0,
                  MVT::f32, 2, 0, 1, 
   0, 
  10, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSSUBQP), 0,
                 MVT::f128, 2, 0, 1, 
  10, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVSUBDP), 0,
                 MVT::v2f64, 2, 0, 1, 
  24, MVT::v4f32,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVSUBSP), 0,
                  MVT::v4f32, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBFP), 0,
                  MVT::v4f32, 2, 0, 1, 
   0, 
  0,
 124, TARGET_VAL(ISD::STRICT_FDIV),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 38, MVT::f64,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSDIVDP), 0|OPFL_Chain,
                  MVT::f64, 2, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FDIV), 0|OPFL_Chain,
                  MVT::f64, 2, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDDIV), 0|OPFL_Chain,
                  MVT::f64, 2, 1, 2, 
   0, 
  38, MVT::f32,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 12,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSDIVSP), 0|OPFL_Chain,
                  MVT::f32, 2, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FDIVS), 0|OPFL_Chain,
                  MVT::f32, 2, 1, 2, 
   11, 
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSDIV), 0|OPFL_Chain,
                  MVT::f32, 2, 1, 2, 
   0, 
  11, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSDIVQP), 0|OPFL_Chain,
                 MVT::f128, 2, 1, 2, 
  11, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVDIVDP), 0|OPFL_Chain,
                 MVT::v2f64, 2, 1, 2, 
  11, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVDIVSP), 0|OPFL_Chain,
                 MVT::v4f32, 2, 1, 2, 
  0,
 114, TARGET_VAL(ISD::FDIV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 35, MVT::f64,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSDIVDP), 0,
                  MVT::f64, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FDIV), 0,
                  MVT::f64, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDDIV), 0,
                  MVT::f64, 2, 0, 1, 
   0, 
  35, MVT::f32,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSDIVSP), 0,
                  MVT::f32, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FDIVS), 0,
                  MVT::f32, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSDIV), 0,
                  MVT::f32, 2, 0, 1, 
   0, 
  10, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSDIVQP), 0,
                 MVT::f128, 2, 0, 1, 
  10, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVDIVDP), 0,
                 MVT::v2f64, 2, 0, 1, 
  10, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVDIVSP), 0,
                 MVT::v4f32, 2, 0, 1, 
  0,
 92, TARGET_VAL(ISD::STRICT_FSQRT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 24, MVT::f64,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSSQRTDP), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FSQRT), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   0, 
  24, MVT::f32,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 12,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSSQRTSP), 0|OPFL_Chain,
                  MVT::f32, 1, 1, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FSQRTS), 0|OPFL_Chain,
                  MVT::f32, 1, 1, 
   0, 
  10, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSSQRTQP), 0|OPFL_Chain,
                 MVT::f128, 1, 1, 
  10, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVSQRTDP), 0|OPFL_Chain,
                 MVT::v2f64, 1, 1, 
  10, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVSQRTSP), 0|OPFL_Chain,
                 MVT::v4f32, 1, 1, 
  0,
 84, TARGET_VAL(ISD::FSQRT),
  OPC_RecordChild0,
  OPC_SwitchType , 22, MVT::f64,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSSQRTDP), 0,
                  MVT::f64, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FSQRT), 0,
                  MVT::f64, 1, 0, 
   0, 
  22, MVT::f32,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSSQRTSP), 0,
                  MVT::f32, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FSQRTS), 0,
                  MVT::f32, 1, 0, 
   0, 
  9, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSSQRTQP), 0,
                 MVT::f128, 1, 0, 
  9, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVSQRTDP), 0,
                 MVT::v2f64, 1, 0, 
  9, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVSQRTSP), 0,
                 MVT::v4f32, 1, 0, 
  0,
 86, TARGET_VAL(PPCISD::FRE),
  OPC_RecordChild0,
  OPC_SwitchType , 22, MVT::f64,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSREDP), 0,
                  MVT::f64, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRE), 0,
                  MVT::f64, 1, 0, 
   0, 
  22, MVT::f32,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRESP), 0,
                  MVT::f32, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRES), 0,
                  MVT::f32, 1, 0, 
   0, 
  9, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVREDP), 0,
                 MVT::v2f64, 1, 0, 
  22, MVT::v4f32,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRESP), 0,
                  MVT::v4f32, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VREFP), 0,
                  MVT::v4f32, 1, 0, 
   0, 
  0,
 86, TARGET_VAL(PPCISD::FRSQRTE),
  OPC_RecordChild0,
  OPC_SwitchType , 22, MVT::f64,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRSQRTEDP), 0,
                  MVT::f64, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRSQRTE), 0,
                  MVT::f64, 1, 0, 
   0, 
  22, MVT::f32,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRSQRTESP), 0,
                  MVT::f32, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRSQRTES), 0,
                  MVT::f32, 1, 0, 
   0, 
  9, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRSQRTEDP), 0,
                 MVT::v2f64, 1, 0, 
  22, MVT::v4f32,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRSQRTESP), 0,
                  MVT::v4f32, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VRSQRTEFP), 0,
                  MVT::v4f32, 1, 0, 
   0, 
  0,
 126, TARGET_VAL(ISD::FABS),
  OPC_RecordChild0,
  OPC_SwitchType , 32, MVT::f64,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSABSDP), 0,
                  MVT::f64, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FABSD), 0,
                  MVT::f64, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDABS), 0,
                  MVT::f64, 1, 0, 
   0, 
  9, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSABSQP), 0,
                 MVT::f128, 1, 0, 
  54, MVT::f32,
   OPC_Scope, 31, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSABSDP), 0,
                  MVT::f64, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 3, 4, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FABSS), 0,
                  MVT::f32, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSABS), 0,
                  MVT::f32, 1, 0, 
   0, 
  9, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVABSDP), 0,
                 MVT::v2f64, 1, 0, 
  9, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVABSSP), 0,
                 MVT::v4f32, 1, 0, 
  0,
 15|128,1, TARGET_VAL(ISD::FCOPYSIGN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 53, 
   OPC_CheckChild1Type, MVT::f64,
   OPC_SwitchType , 24, MVT::f64,
    OPC_Scope, 10, 
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCPSGNDP), 0,
                   MVT::f64, 2, 1, 0, 
    10, 
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::FCPSGND), 0,
                   MVT::f64, 2, 1, 0, 
    0, 
   21, MVT::f32,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitStringInteger, MVT::i32, PPC::F4RCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 1, 2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FCPSGNS), 0,
                  MVT::f32, 2, 3, 0, 
   0,
  14, 
   OPC_CheckChild1Type, MVT::f128,
   OPC_CheckType, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCPSGNQP), 0,
                 MVT::f128, 2, 1, 0, 
  39, 
   OPC_CheckChild1Type, MVT::f32,
   OPC_SwitchType , 10, MVT::f32,
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FCPSGNS), 0,
                  MVT::f32, 2, 1, 0, 
   21, MVT::f64,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitStringInteger, MVT::i32, PPC::F8RCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 1, 2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FCPSGND), 0,
                  MVT::f64, 2, 3, 0, 
   0,
  14, 
   OPC_CheckChild1Type, MVT::v2f64,
   OPC_CheckType, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCPSGNDP), 0,
                 MVT::v2f64, 2, 1, 0, 
  14, 
   OPC_CheckChild1Type, MVT::v4f32,
   OPC_CheckType, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCPSGNSP), 0,
                 MVT::v4f32, 2, 1, 0, 
  0, 
 40, TARGET_VAL(PPCISD::STRICT_FCTIDZ),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 22, MVT::f64,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPSXDS), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   8, 
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FCTIDZ), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   0, 
  10, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPSXDSs), 0|OPFL_Chain,
                 MVT::f32, 1, 1, 
  0,
 36, TARGET_VAL(PPCISD::FCTIDZ),
  OPC_RecordChild0,
  OPC_SwitchType , 20, MVT::f64,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPSXDS), 0,
                  MVT::f64, 1, 0, 
   7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FCTIDZ), 0,
                  MVT::f64, 1, 0, 
   0, 
  9, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPSXDSs), 0,
                 MVT::f32, 1, 0, 
  0,
 42, TARGET_VAL(PPCISD::STRICT_FCTIWZ),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 24, MVT::f64,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPSXWS), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FCTIWZ), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   0, 
  10, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPSXWSs), 0|OPFL_Chain,
                 MVT::f32, 1, 1, 
  0,
 38, TARGET_VAL(PPCISD::FCTIWZ),
  OPC_RecordChild0,
  OPC_SwitchType , 22, MVT::f64,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPSXWS), 0,
                  MVT::f64, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FCTIWZ), 0,
                  MVT::f64, 1, 0, 
   0, 
  9, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPSXWSs), 0,
                 MVT::f32, 1, 0, 
  0,
 40, TARGET_VAL(PPCISD::STRICT_FCTIDUZ),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 22, MVT::f64,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPUXDS), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   8, 
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FCTIDUZ), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   0, 
  10, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPUXDSs), 0|OPFL_Chain,
                 MVT::f32, 1, 1, 
  0,
 36, TARGET_VAL(PPCISD::FCTIDUZ),
  OPC_RecordChild0,
  OPC_SwitchType , 20, MVT::f64,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPUXDS), 0,
                  MVT::f64, 1, 0, 
   7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FCTIDUZ), 0,
                  MVT::f64, 1, 0, 
   0, 
  9, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPUXDSs), 0,
                 MVT::f32, 1, 0, 
  0,
 40, TARGET_VAL(PPCISD::STRICT_FCTIWUZ),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 22, MVT::f64,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPUXWS), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   8, 
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FCTIWUZ), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   0, 
  10, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPUXWSs), 0|OPFL_Chain,
                 MVT::f32, 1, 1, 
  0,
 36, TARGET_VAL(PPCISD::FCTIWUZ),
  OPC_RecordChild0,
  OPC_SwitchType , 20, MVT::f64,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPUXWS), 0,
                  MVT::f64, 1, 0, 
   7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FCTIWUZ), 0,
                  MVT::f64, 1, 0, 
   0, 
  9, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPUXWSs), 0,
                 MVT::f32, 1, 0, 
  0,
 32, TARGET_VAL(PPCISD::STRICT_FCFID),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckType, MVT::f64,
  OPC_Scope, 13, 
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::XSCVSXDDP), 0,
                 MVT::f64, 1, 1, 
   OPC_CompleteMatch, 1, 2, 

  11, 
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::FCFID), 0,
                 MVT::f64, 1, 1, 
   OPC_CompleteMatch, 1, 2, 

  0, 
 32, TARGET_VAL(PPCISD::STRICT_FCFIDU),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckType, MVT::f64,
  OPC_Scope, 13, 
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::XSCVUXDDP), 0,
                 MVT::f64, 1, 1, 
   OPC_CompleteMatch, 1, 2, 

  11, 
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::FCFIDU), 0,
                 MVT::f64, 1, 1, 
   OPC_CompleteMatch, 1, 2, 

  0, 
 122, TARGET_VAL(ISD::STRICT_FROUND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 24, MVT::f64,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRDPI), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRIND), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   0, 
  18, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRQPI), 0|OPFL_Chain,
                 MVT::f128, 3, 2, 1, 3, 
  46, MVT::f32,
   OPC_Scope, 32, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 1, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSRDPI), 0|OPFL_Chain,
                  MVT::f64, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                  MVT::f32, 2, 4, 5, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRINS), 0|OPFL_Chain,
                  MVT::f32, 1, 1, 
   0, 
  10, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRDPI), 0|OPFL_Chain,
                 MVT::v2f64, 1, 1, 
  10, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRSPI), 0|OPFL_Chain,
                 MVT::v4f32, 1, 1, 
  0,
 114, TARGET_VAL(ISD::FROUND),
  OPC_RecordChild0,
  OPC_SwitchType , 22, MVT::f64,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRDPI), 0,
                  MVT::f64, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRIND), 0,
                  MVT::f64, 1, 0, 
   0, 
  17, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRQPI), 0,
                 MVT::f128, 3, 1, 0, 2, 
  44, MVT::f32,
   OPC_Scope, 31, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSRDPI), 0,
                  MVT::f64, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 3, 4, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRINS), 0,
                  MVT::f32, 1, 0, 
   0, 
  9, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRDPI), 0,
                 MVT::v2f64, 1, 0, 
  9, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRSPI), 0,
                 MVT::v4f32, 1, 0, 
  0,
 122, TARGET_VAL(ISD::STRICT_FFLOOR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 24, MVT::f64,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRDPIM), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRIMD), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   0, 
  18, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 6, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRQPI), 0|OPFL_Chain,
                 MVT::f128, 3, 2, 1, 3, 
  46, MVT::f32,
   OPC_Scope, 32, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 1, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSRDPIM), 0|OPFL_Chain,
                  MVT::f64, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                  MVT::f32, 2, 4, 5, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRIMS), 0|OPFL_Chain,
                  MVT::f32, 1, 1, 
   0, 
  10, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRDPIM), 0|OPFL_Chain,
                 MVT::v2f64, 1, 1, 
  10, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRSPIM), 0|OPFL_Chain,
                 MVT::v4f32, 1, 1, 
  0,
 127, TARGET_VAL(ISD::FFLOOR),
  OPC_RecordChild0,
  OPC_SwitchType , 22, MVT::f64,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRDPIM), 0,
                  MVT::f64, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRIMD), 0,
                  MVT::f64, 1, 0, 
   0, 
  17, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 6, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRQPI), 0,
                 MVT::f128, 3, 1, 0, 2, 
  44, MVT::f32,
   OPC_Scope, 31, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSRDPIM), 0,
                  MVT::f64, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 3, 4, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRIMS), 0,
                  MVT::f32, 1, 0, 
   0, 
  9, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRDPIM), 0,
                 MVT::v2f64, 1, 0, 
  22, MVT::v4f32,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRSPIM), 0,
                  MVT::v4f32, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VRFIM), 0,
                  MVT::v4f32, 1, 0, 
   0, 
  0,
 122, TARGET_VAL(ISD::STRICT_FCEIL),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 24, MVT::f64,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRDPIP), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRIPD), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   0, 
  18, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRQPI), 0|OPFL_Chain,
                 MVT::f128, 3, 2, 1, 3, 
  46, MVT::f32,
   OPC_Scope, 32, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 1, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSRDPIP), 0|OPFL_Chain,
                  MVT::f64, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                  MVT::f32, 2, 4, 5, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRIPS), 0|OPFL_Chain,
                  MVT::f32, 1, 1, 
   0, 
  10, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRDPIP), 0|OPFL_Chain,
                 MVT::v2f64, 1, 1, 
  10, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRSPIP), 0|OPFL_Chain,
                 MVT::v4f32, 1, 1, 
  0,
 127, TARGET_VAL(ISD::FCEIL),
  OPC_RecordChild0,
  OPC_SwitchType , 22, MVT::f64,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRDPIP), 0,
                  MVT::f64, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRIPD), 0,
                  MVT::f64, 1, 0, 
   0, 
  17, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRQPI), 0,
                 MVT::f128, 3, 1, 0, 2, 
  44, MVT::f32,
   OPC_Scope, 31, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSRDPIP), 0,
                  MVT::f64, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 3, 4, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRIPS), 0,
                  MVT::f32, 1, 0, 
   0, 
  9, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRDPIP), 0,
                 MVT::v2f64, 1, 0, 
  22, MVT::v4f32,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRSPIP), 0,
                  MVT::v4f32, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VRFIP), 0,
                  MVT::v4f32, 1, 0, 
   0, 
  0,
 122, TARGET_VAL(ISD::STRICT_FTRUNC),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 24, MVT::f64,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRDPIZ), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRIZD), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   0, 
  18, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRQPI), 0|OPFL_Chain,
                 MVT::f128, 3, 2, 1, 3, 
  46, MVT::f32,
   OPC_Scope, 32, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 1, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSRDPIZ), 0|OPFL_Chain,
                  MVT::f64, 1, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                  MVT::f32, 2, 4, 5, 
   10, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRIZS), 0|OPFL_Chain,
                  MVT::f32, 1, 1, 
   0, 
  10, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRDPIZ), 0|OPFL_Chain,
                 MVT::v2f64, 1, 1, 
  10, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRSPIZ), 0|OPFL_Chain,
                 MVT::v4f32, 1, 1, 
  0,
 127, TARGET_VAL(ISD::FTRUNC),
  OPC_RecordChild0,
  OPC_SwitchType , 22, MVT::f64,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRDPIZ), 0,
                  MVT::f64, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRIZD), 0,
                  MVT::f64, 1, 0, 
   0, 
  17, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRQPI), 0,
                 MVT::f128, 3, 1, 0, 2, 
  44, MVT::f32,
   OPC_Scope, 31, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 0, 1, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSRDPIZ), 0,
                  MVT::f64, 1, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 3, 4, 
   9, 
    OPC_CheckPatternPredicate, 13,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FRIZS), 0,
                  MVT::f32, 1, 0, 
   0, 
  9, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRDPIZ), 0,
                 MVT::v2f64, 1, 0, 
  22, MVT::v4f32,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRSPIZ), 0,
                  MVT::v4f32, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VRFIZ), 0,
                  MVT::v4f32, 1, 0, 
   0, 
  0,
 78, TARGET_VAL(ISD::STRICT_FP_ROUND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 60, MVT::f32,
   OPC_Scope, 37, 
    OPC_CheckChild1Type, MVT::f64,
    OPC_Scope, 10, 
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRSP), 0|OPFL_Chain,
                   MVT::f32, 1, 1, 
    10, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::FRSP), 0|OPFL_Chain,
                   MVT::f32, 1, 1, 
    10, 
     OPC_CheckPatternPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::EFSCFD), 0|OPFL_Chain,
                   MVT::f32, 1, 1, 
    0, 
   19, 
    OPC_CheckChild1Type, MVT::f128,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(PPC::XSCVQPDPO), 0,
                  MVT::f64, 1, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRSP), 0|OPFL_Chain,
                  MVT::f32, 1, 2, 
   0, 
  10, MVT::f64,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVQPDP), 0|OPFL_Chain,
                 MVT::f64, 1, 1, 
  0,
 34, TARGET_VAL(PPCISD::STRICT_FCFIDS),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1Type, MVT::f64,
  OPC_CheckType, MVT::f32,
  OPC_Scope, 13, 
   OPC_CheckPatternPredicate, 12,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::XSCVSXDSP), 0,
                 MVT::f32, 1, 1, 
   OPC_CompleteMatch, 1, 2, 

  11, 
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::FCFIDS), 0,
                 MVT::f32, 1, 1, 
   OPC_CompleteMatch, 1, 2, 

  0, 
 34, TARGET_VAL(PPCISD::STRICT_FCFIDUS),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1Type, MVT::f64,
  OPC_CheckType, MVT::f32,
  OPC_Scope, 13, 
   OPC_CheckPatternPredicate, 12,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::XSCVUXDSP), 0,
                 MVT::f32, 1, 1, 
   OPC_CompleteMatch, 1, 2, 

  11, 
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::FCFIDUS), 0,
                 MVT::f32, 1, 1, 
   OPC_CompleteMatch, 1, 2, 

  0, 
 29, TARGET_VAL(PPCISD::MTVSRA),
  OPC_RecordChild0,
  OPC_CheckType, MVT::f64,
  OPC_Scope, 11, 
   OPC_CheckChild0Type, MVT::i64,
   OPC_CheckPatternPredicate, 57,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MTVSRD), 0,
                 MVT::f64, 1, 0, 
  11, 
   OPC_CheckChild0Type, MVT::i32,
   OPC_CheckPatternPredicate, 57,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MTVSRWA), 0,
                 MVT::f64, 1, 0, 
  0, 
 68, TARGET_VAL(PPCISD::MTVSRZ),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::i32,
  OPC_SwitchType , 9, MVT::f64,
   OPC_CheckPatternPredicate, 57,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::MTVSRWZ), 0,
                 MVT::f64, 1, 0, 
  24, MVT::v8i16,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitInteger, MVT::i64, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                 MVT::f64, 1, 0, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                 MVT::v8i16, 3, 1, 2, 3, 
  24, MVT::v16i8,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitInteger, MVT::i64, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                 MVT::f64, 1, 0, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                 MVT::v16i8, 3, 1, 2, 3, 
  0,
 90, TARGET_VAL(ISD::STRICT_FP_EXTEND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 39, MVT::f128,
   OPC_Scope, 12, 
    OPC_CheckChild1Type, MVT::f64,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPQP), 0|OPFL_Chain,
                  MVT::f128, 1, 1, 
   23, 
    OPC_CheckChild1Type, MVT::f32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 1, 2, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPQP), 0|OPFL_Chain,
                  MVT::f128, 1, 3, 
   0, 
  43, MVT::f64,
   OPC_Scope, 14, 
    OPC_CheckPatternPredicate, 12,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                  MVT::f64, 2, 1, 2, 
   14, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitStringInteger, MVT::i32, PPC::F8RCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                  MVT::f64, 2, 1, 2, 
   10, 
    OPC_CheckPatternPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDCFS), 0|OPFL_Chain,
                  MVT::f64, 1, 1, 
   0, 
  0,
 84, TARGET_VAL(ISD::FP_EXTEND),
  OPC_RecordChild0,
  OPC_SwitchType , 37, MVT::f128,
   OPC_Scope, 11, 
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPQP), 0,
                  MVT::f128, 1, 0, 
   22, 
    OPC_CheckChild0Type, MVT::f32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitStringInteger, MVT::i32, PPC::VFRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 0, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPQP), 0,
                  MVT::f128, 1, 2, 
   0, 
  40, MVT::f64,
   OPC_Scope, 13, 
    OPC_CheckPatternPredicate, 12,
    OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 0, 1, 
   13, 
    OPC_CheckPatternPredicate, 13,
    OPC_EmitStringInteger, MVT::i32, PPC::F8RCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f64, 2, 0, 1, 
   9, 
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::EFDCFS), 0,
                  MVT::f64, 1, 0, 
   0, 
  0,
 73, TARGET_VAL(PPCISD::XSMAXC),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 10, MVT::f64,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMAXCDP), 0,
                 MVT::f64, 2, 0, 1, 
  10, MVT::f128,
   OPC_CheckPatternPredicate, 56,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMAXCQP), 0,
                 MVT::f128, 2, 0, 1, 
  43, MVT::f32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 0, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 1, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::XSMAXCDP), 0,
                 MVT::f64, 2, 3, 5, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f32, 2, 6, 7, 
  0,
 73, TARGET_VAL(PPCISD::XSMINC),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 10, MVT::f64,
   OPC_CheckPatternPredicate, 8,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMINCDP), 0,
                 MVT::f64, 2, 0, 1, 
  10, MVT::f128,
   OPC_CheckPatternPredicate, 56,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSMINCQP), 0,
                 MVT::f128, 2, 0, 1, 
  43, MVT::f32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 0, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 1, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::XSMINCDP), 0,
                 MVT::f64, 2, 3, 5, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f32, 2, 6, 7, 
  0,
 47, TARGET_VAL(PPCISD::FSQRT),
  OPC_RecordChild0,
  OPC_SwitchType , 20, MVT::f64,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XSSQRTDP), 0,
                  MVT::f64, 1, 0, 
   7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::FSQRT), 0,
                  MVT::f64, 1, 0, 
   0, 
  9, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVSQRTDP), 0,
                 MVT::v2f64, 1, 0, 
  9, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVSQRTSP), 0,
                 MVT::v4f32, 1, 0, 
  0,
 94, TARGET_VAL(ISD::STRICT_FRINT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 10, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRDPIC), 0|OPFL_Chain,
                 MVT::f64, 1, 1, 
  18, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitInteger, MVT::i32, 6, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRQPIX), 0|OPFL_Chain,
                 MVT::f128, 3, 2, 1, 3, 
  32, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 1, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::XSRDPIC), 0,
                 MVT::f64, 1, 3, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                 MVT::f32, 2, 4, 5, 
  10, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRSPIC), 0|OPFL_Chain,
                 MVT::v4f32, 1, 1, 
  10, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRDPIC), 0|OPFL_Chain,
                 MVT::v2f64, 1, 1, 
  0,
 88, TARGET_VAL(ISD::FRINT),
  OPC_RecordChild0,
  OPC_SwitchType , 9, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRDPIC), 0,
                 MVT::f64, 1, 0, 
  17, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitInteger, MVT::i32, 6, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRQPIX), 0,
                 MVT::f128, 3, 1, 0, 2, 
  31, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 0, 1, 
   OPC_EmitNode1, TARGET_VAL(PPC::XSRDPIC), 0,
                 MVT::f64, 1, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f32, 2, 3, 4, 
  9, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRSPIC), 0,
                 MVT::v4f32, 1, 0, 
  9, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRDPIC), 0,
                 MVT::v2f64, 1, 0, 
  0,
 101, TARGET_VAL(ISD::FNEARBYINT),
  OPC_RecordChild0,
  OPC_SwitchType , 9, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRDPIC), 0,
                 MVT::f64, 1, 0, 
  17, MVT::f128,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitInteger, MVT::i32, 6, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRQPI), 0,
                 MVT::f128, 3, 1, 0, 2, 
  31, MVT::f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f64, 2, 0, 1, 
   OPC_EmitNode1, TARGET_VAL(PPC::XSRDPIC), 0,
                 MVT::f64, 1, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f32, 2, 3, 4, 
  9, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRDPIC), 0,
                 MVT::v2f64, 1, 0, 
  22, MVT::v4f32,
   OPC_Scope, 9, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XVRSPIC), 0,
                  MVT::v4f32, 1, 0, 
   9, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VRFIN), 0,
                  MVT::v4f32, 1, 0, 
   0, 
  0,
 22, TARGET_VAL(ISD::STRICT_FNEARBYINT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckType, MVT::f128,
  OPC_CheckPatternPredicate, 8,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitInteger, MVT::i32, 0, 
  OPC_EmitInteger, MVT::i32, 6, 
  OPC_MorphNodeTo1, TARGET_VAL(PPC::XSRQPI), 0|OPFL_Chain,
                MVT::f128, 3, 2, 1, 3, 
 52, TARGET_VAL(ISD::FP16_TO_FP),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::i32,
  OPC_SwitchType , 16, MVT::f64,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                 MVT::f64, 1, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVHPDP), 0,
                 MVT::f64, 1, 1, 
  27, MVT::f32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                 MVT::f64, 1, 0, 
   OPC_EmitNode1, TARGET_VAL(PPC::XSCVHPDP), 0,
                 MVT::f64, 1, 1, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f32, 2, 2, 3, 
  0,
 52, TARGET_VAL(PPCISD::BUILD_FP128),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::i64,
  OPC_RecordChild1,
  OPC_CheckType, MVT::f128,
  OPC_Scope, 21, 
   OPC_CheckPatternPredicate, 34,
   OPC_EmitNode1, TARGET_VAL(PPC::MTVSRDD), 0,
                 MVT::v4i32, 2, 0, 1, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f128, 2, 2, 3, 
  21, 
   OPC_CheckPatternPredicate, 39,
   OPC_EmitNode1, TARGET_VAL(PPC::MTVSRDD), 0,
                 MVT::v4i32, 2, 1, 0, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f128, 2, 2, 3, 
  0, 
 10, TARGET_VAL(PPCISD::MFFS),
  OPC_RecordNode,
  OPC_CheckPatternPredicate, 13,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::MFFS), 0|OPFL_Chain,
                MVT::f64, 0, 
 31, TARGET_VAL(PPCISD::FSEL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 11, MVT::f64,
   OPC_CheckPatternPredicate, 13,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::FSELD), 0,
                 MVT::f64, 3, 0, 1, 2, 
  11, MVT::f32,
   OPC_CheckPatternPredicate, 13,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::FSELS), 0,
                 MVT::f32, 3, 0, 1, 2, 
  0,
 25, TARGET_VAL(PPCISD::BUILD_SPE64),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckChild1Type, MVT::i32,
  OPC_CheckPatternPredicate, 14,
  OPC_EmitNode1, TARGET_VAL(PPC::EVMERGELO), 0,
                MVT::f64, 2, 1, 0, 
  OPC_EmitStringInteger, MVT::i32, PPC::SPERCRegClassID,
  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                MVT::f64, 2, 2, 3, 
 14, TARGET_VAL(PPCISD::FADDRTZ),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckType, MVT::f64,
  OPC_CheckPatternPredicate, 13,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::FADDrtz), 0,
                MVT::f64, 2, 0, 1, 
 19, TARGET_VAL(PPCISD::STRICT_FADDRTZ),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckType, MVT::f64,
  OPC_CheckPatternPredicate, 13,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitNode1, TARGET_VAL(PPC::FADDrtz), 0,
                MVT::f64, 2, 1, 2, 
  OPC_CompleteMatch, 1, 3, 

 118|128,59, TARGET_VAL(ISD::BUILD_VECTOR),
  OPC_Scope, 96, 
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 38,
   OPC_CheckType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckChild1Same, 0,
   OPC_CheckChild2Same, 0,
   OPC_CheckChild3Same, 0,
   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_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, 8,
   OPC_EmitConvertToTarget, 0,
   OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTIB), 0,
                 MVT::v4i32, 1, 1, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v16i8, 2, 2, 3, 
  115|128,14, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 85|128,9, TARGET_VAL(PPCISD::MFVSR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 32|128,4, TARGET_VAL(PPCISD::FCTIWZ),
     OPC_Scope, 56|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 0,
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveChild3,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_Scope, 48, 
       OPC_CheckPatternPredicate, 40,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v2f64, 3, 0, 1, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSXWS), 0,
                     MVT::v4i32, 1, 3, 
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v2f64, 3, 0, 1, 5, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSXWS), 0,
                     MVT::v4i32, 1, 6, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                     MVT::v4i32, 2, 4, 7, 
      48, 
       OPC_CheckPatternPredicate, 28,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v2f64, 3, 1, 0, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSXWS), 0,
                     MVT::v4i32, 1, 3, 
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v2f64, 3, 1, 0, 5, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSXWS), 0,
                     MVT::v4i32, 1, 6, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                     MVT::v4i32, 2, 4, 7, 
      0, 
     98|128,2, 
      OPC_RecordChild0,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
      OPC_CheckType, MVT::f64,
      OPC_Scope, 75, 
       OPC_CheckChild0Same, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
       OPC_CheckChild0Same, 0,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild3,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
       OPC_CheckChild0Same, 0,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0,
                     MVT::f64, 1, 0, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                     MVT::v4i32, 3, 1, 2, 3, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTW), 0,
                     MVT::v4i32, 2, 4, 5, 
      1|128,2, 
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
       OPC_RecordChild0,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild3,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
       OPC_RecordChild0,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_Scope, 108, 
        OPC_CheckPatternPredicate, 40,
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::v4i32, 3, 4, 0, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::v4i32, 3, 7, 2, 8, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v2f64, 3, 6, 9, 10, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSXWS), 0,
                      MVT::v4i32, 1, 11, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::v4i32, 3, 13, 1, 14, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::v4i32, 3, 16, 3, 17, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v2f64, 3, 15, 18, 19, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSXWS), 0,
                      MVT::v4i32, 1, 20, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4i32, 2, 12, 21, 
       108, 
        OPC_CheckPatternPredicate, 28,
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::v4i32, 3, 4, 3, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::v4i32, 3, 7, 1, 8, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v2f64, 3, 6, 9, 10, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSXWS), 0,
                      MVT::v4i32, 1, 11, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::v4i32, 3, 13, 2, 14, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::v4i32, 3, 16, 0, 17, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v2f64, 3, 15, 18, 19, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSXWS), 0,
                      MVT::v4i32, 1, 20, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4i32, 2, 12, 21, 
       0, 
      0, 
     0, 
    32|128,4, TARGET_VAL(PPCISD::FCTIWUZ),
     OPC_Scope, 56|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 0,
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveChild3,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_Scope, 48, 
       OPC_CheckPatternPredicate, 40,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v2f64, 3, 0, 1, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPUXWS), 0,
                     MVT::v4i32, 1, 3, 
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v2f64, 3, 0, 1, 5, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPUXWS), 0,
                     MVT::v4i32, 1, 6, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                     MVT::v4i32, 2, 4, 7, 
      48, 
       OPC_CheckPatternPredicate, 28,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v2f64, 3, 1, 0, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPUXWS), 0,
                     MVT::v4i32, 1, 3, 
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v2f64, 3, 1, 0, 5, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPUXWS), 0,
                     MVT::v4i32, 1, 6, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                     MVT::v4i32, 2, 4, 7, 
      0, 
     98|128,2, 
      OPC_RecordChild0,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
      OPC_CheckType, MVT::f64,
      OPC_Scope, 75, 
       OPC_CheckChild0Same, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
       OPC_CheckChild0Same, 0,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild3,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
       OPC_CheckChild0Same, 0,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0,
                     MVT::f64, 1, 0, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                     MVT::v4i32, 3, 1, 2, 3, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTW), 0,
                     MVT::v4i32, 2, 4, 5, 
      1|128,2, 
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
       OPC_RecordChild0,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild3,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
       OPC_RecordChild0,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_Scope, 108, 
        OPC_CheckPatternPredicate, 40,
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::v4i32, 3, 4, 0, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::v4i32, 3, 7, 2, 8, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v2f64, 3, 6, 9, 10, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPUXWS), 0,
                      MVT::v4i32, 1, 11, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::v4i32, 3, 13, 1, 14, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::v4i32, 3, 16, 3, 17, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v2f64, 3, 15, 18, 19, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPUXWS), 0,
                      MVT::v4i32, 1, 20, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4i32, 2, 12, 21, 
       108, 
        OPC_CheckPatternPredicate, 28,
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::v4i32, 3, 4, 3, 5, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::v4i32, 3, 7, 1, 8, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v2f64, 3, 6, 9, 10, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPUXWS), 0,
                      MVT::v4i32, 1, 11, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::v4i32, 3, 13, 2, 14, 
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::v4i32, 3, 16, 0, 17, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v2f64, 3, 15, 18, 19, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPUXWS), 0,
                      MVT::v4i32, 1, 20, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4i32, 2, 12, 21, 
       0, 
      0, 
     0, 
    66, TARGET_VAL(PPCISD::FCTIDZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIDZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
     OPC_CheckChild0Same, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXDSs), 0,
                   MVT::f32, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 1, 2, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0,
                   MVT::v2i64, 2, 3, 4, 
    66, TARGET_VAL(PPCISD::FCTIDUZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIDUZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
     OPC_CheckChild0Same, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXDSs), 0,
                   MVT::f32, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::f64, 2, 1, 2, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0,
                   MVT::v2i64, 2, 3, 4, 
    0,
   61|128,4, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 87|128,2, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_Scope, 40|128,1, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_Scope, 81, 
       OPC_CheckChild1Integer, 2, 
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 6, 
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 10, 
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild3,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 14, 
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 30,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSH2W), 0,
                     MVT::v4i32, 1, 0, 
      81, 
       OPC_CheckChild1Integer, 0, 
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 4, 
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 8, 
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild3,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 12, 
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 31,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSH2W), 0,
                     MVT::v4i32, 1, 0, 
      0, 
     40|128,1, 
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_Scope, 81, 
       OPC_CheckChild1Integer, 6, 
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 14, 
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 22, 
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild3,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 30, 
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 30,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSB2W), 0,
                     MVT::v4i32, 1, 0, 
      81, 
       OPC_CheckChild1Integer, 0, 
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 8, 
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 16, 
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveChild3,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 24, 
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 31,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSB2W), 0,
                     MVT::v4i32, 1, 0, 
      0, 
     0, 
    91|128,1, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 104, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_Scope, 49, 
       OPC_CheckChild1Integer, 6, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 14, 
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 30,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::v2i64, 1, 0, 
      49, 
       OPC_CheckChild1Integer, 0, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 8, 
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 31,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSH2D), 0,
                     MVT::v2i64, 1, 0, 
      0, 
     104, 
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_Scope, 49, 
       OPC_CheckChild1Integer, 14, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 30, 
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 30,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::v2i64, 1, 0, 
      49, 
       OPC_CheckChild1Integer, 0, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 16, 
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 31,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSB2D), 0,
                     MVT::v2i64, 1, 0, 
      0, 
     0, 
    0,
   83, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 35, 
     OPC_CheckChild1Integer, 2, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 6, 
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 30,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSW2D), 0,
                   MVT::v2i64, 1, 0, 
    35, 
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 4, 
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VEXTSW2D), 0,
                   MVT::v2i64, 1, 0, 
    0, 
   0,
  55, 
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckType, MVT::i32,
   OPC_Scope, 22, 
    OPC_CheckPredicate, 39,
    OPC_MoveParent,
    OPC_CheckChild1Same, 0,
    OPC_CheckChild2Same, 0,
    OPC_CheckChild3Same, 0,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 57,
    OPC_EmitConvertToTarget, 0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSPLTISW), 0,
                  MVT::v4i32, 1, 1, 
   22, 
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckChild1Same, 0,
    OPC_CheckChild2Same, 0,
    OPC_CheckChild3Same, 0,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitConvertToTarget, 0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTIW), 0,
                  MVT::v4i32, 1, 1, 
   0, 
  51|128,1, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 83, TARGET_VAL(PPCISD::FCTIDZ),
    OPC_RecordChild0,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::i64,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIDZ),
    OPC_CheckChild0Same, 0,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitInteger, MVT::i64, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXDS), 0,
                  MVT::f64, 1, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                  MVT::v4i32, 3, 1, 2, 3, 
    OPC_EmitInteger, MVT::i64, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXDS), 0,
                  MVT::f64, 1, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                  MVT::v4i32, 3, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v2i64, 3, 4, 8, 9, 
   83, TARGET_VAL(PPCISD::FCTIDUZ),
    OPC_RecordChild0,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::i64,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIDUZ),
    OPC_CheckChild0Same, 0,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitInteger, MVT::i64, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXDS), 0,
                  MVT::f64, 1, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                  MVT::v4i32, 3, 1, 2, 3, 
    OPC_EmitInteger, MVT::i64, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXDS), 0,
                  MVT::f64, 1, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                  MVT::v4i32, 3, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v2i64, 3, 4, 8, 9, 
   0,
  23, 
   OPC_CheckImmAllZerosV,
   OPC_SwitchType , 8, MVT::v4i32,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLXORz), 0,
                  MVT::v4i32, 0, 
   8, MVT::v2i64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXLXORz), 0,
                  MVT::v2i64, 0, 
   0,
  53, 
   OPC_RecordChild0,
   OPC_SwitchType , 17, MVT::v4i32,
    OPC_CheckChild0Type, MVT::i32,
    OPC_CheckChild1Same, 0,
    OPC_CheckChild2Same, 0,
    OPC_CheckChild3Same, 0,
    OPC_CheckPatternPredicate, 8,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::MTVSRWS), 0,
                  MVT::v4i32, 1, 0, 
   29, MVT::v2i64,
    OPC_CheckChild0Type, MVT::i64,
    OPC_RecordChild1,
    OPC_CheckChild1Type, MVT::i64,
    OPC_Scope, 10, 
     OPC_CheckPatternPredicate, 34,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MTVSRDD), 0,
                   MVT::v2i64, 2, 0, 1, 
    10, 
     OPC_CheckPatternPredicate, 39,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::MTVSRDD), 0,
                   MVT::v2i64, 2, 1, 0, 
    0, 
   0,
  22, 
   OPC_CheckImmAllOnesV,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitNode1, TARGET_VAL(PPC::XXLEQVOnes), 0,
                 MVT::v4i32, 0, 
   OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::v16i8, 2, 0, 1, 
  21|128,6, 
   OPC_RecordChild0,
   OPC_SwitchType , 16|128,5, MVT::v4i32,
    OPC_CheckChild0Type, MVT::i32,
    OPC_Scope, 80, 
     OPC_CheckChild1Same, 0,
     OPC_CheckChild2Same, 0,
     OPC_CheckChild3Same, 0,
     OPC_Scope, 35, 
      OPC_CheckPatternPredicate, 62,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                    MVT::f64, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 1, 2, 3, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTW), 0,
                    MVT::v4i32, 2, 4, 5, 
     35, 
      OPC_CheckPatternPredicate, 63,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                    MVT::f64, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 1, 2, 3, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTW), 0,
                    MVT::v4i32, 2, 4, 5, 
     0, 
    57|128,4, 
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::i32,
     OPC_Scope, 114, 
      OPC_CheckPatternPredicate, 34,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 4, 1, 5, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 7, 0, 8, 
      OPC_EmitInteger, MVT::i32, 64, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDIMI), 0,
                    MVT::i64, 4, 6, 9, 10, 11, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 13, 3, 14, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 16, 2, 17, 
      OPC_EmitInteger, MVT::i32, 64, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDIMI), 0,
                    MVT::i64, 4, 15, 18, 19, 20, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::MTVSRDD), 0,
                    MVT::v4i32, 2, 12, 21, 
     114, 
      OPC_CheckPatternPredicate, 39,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 4, 2, 5, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 7, 3, 8, 
      OPC_EmitInteger, MVT::i32, 64, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDIMI), 0,
                    MVT::i64, 4, 6, 9, 10, 11, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 13, 0, 14, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 16, 1, 17, 
      OPC_EmitInteger, MVT::i32, 64, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDIMI), 0,
                    MVT::i64, 4, 15, 18, 19, 20, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::MTVSRDD), 0,
                    MVT::v4i32, 2, 12, 21, 
     34|128,1, 
      OPC_CheckPatternPredicate, 62,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 5, 1, 6, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 8, 0, 9, 
      OPC_EmitInteger, MVT::i32, 64, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDIMI), 0,
                    MVT::i64, 4, 7, 10, 11, 12, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                    MVT::f64, 1, 13, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 4, 14, 15, 
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 18, 3, 19, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 21, 2, 22, 
      OPC_EmitInteger, MVT::i32, 64, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDIMI), 0,
                    MVT::i64, 4, 20, 23, 24, 25, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                    MVT::f64, 1, 26, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 17, 27, 28, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 16, 29, 30, 
     34|128,1, 
      OPC_CheckPatternPredicate, 63,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 5, 2, 6, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 8, 3, 9, 
      OPC_EmitInteger, MVT::i32, 64, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDIMI), 0,
                    MVT::i64, 4, 7, 10, 11, 12, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                    MVT::f64, 1, 13, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 4, 14, 15, 
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 18, 0, 19, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 21, 1, 22, 
      OPC_EmitInteger, MVT::i32, 64, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDIMI), 0,
                    MVT::i64, 4, 20, 23, 24, 25, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                    MVT::f64, 1, 26, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 17, 27, 28, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 16, 29, 30, 
     0, 
    0, 
   125, MVT::v2i64,
    OPC_CheckChild0Type, MVT::i64,
    OPC_RecordChild1,
    OPC_CheckChild1Type, MVT::i64,
    OPC_Scope, 58, 
     OPC_CheckPatternPredicate, 62,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                   MVT::f64, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                   MVT::f64, 1, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 6, 7, 8, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v2i64, 3, 5, 9, 10, 
    58, 
     OPC_CheckPatternPredicate, 63,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                   MVT::f64, 1, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                   MVT::f64, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 6, 7, 8, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v2i64, 3, 5, 9, 10, 
    0, 
   0,
  51, 
   OPC_RecordNode,
   OPC_SwitchType , 14, MVT::v16i8,
    OPC_CheckPredicate, 41,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitNodeXForm, 15, 0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSPLTISB), 0,
                  MVT::v16i8, 1, 1, 
   14, MVT::v8i16,
    OPC_CheckPredicate, 42,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitNodeXForm, 16, 0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSPLTISH), 0,
                  MVT::v8i16, 1, 1, 
   14, MVT::v4i32,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitNodeXForm, 17, 0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSPLTISW), 0,
                  MVT::v4i32, 1, 1, 
   0,
  43, 
   OPC_CheckImmAllZerosV,
   OPC_SwitchType , 8, MVT::v16i8,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::V_SET0B), 0,
                  MVT::v16i8, 0, 
   8, MVT::v8i16,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::V_SET0H), 0,
                  MVT::v8i16, 0, 
   8, MVT::v4i32,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::V_SET0), 0,
                  MVT::v4i32, 0, 
   8, MVT::v512i1,
    OPC_CheckPatternPredicate, 55,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSETACCZW), 0,
                  MVT::v512i1, 0, 
   0,
  33, 
   OPC_CheckImmAllOnesV,
   OPC_SwitchType , 8, MVT::v16i8,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::V_SETALLONESB), 0,
                  MVT::v16i8, 0, 
   8, MVT::v8i16,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::V_SETALLONESH), 0,
                  MVT::v8i16, 0, 
   8, MVT::v4i32,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::V_SETALLONES), 0,
                  MVT::v4i32, 0, 
   0,
  64|128,31, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 100|128,1, TARGET_VAL(PPCISD::FCFIDUS),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_CheckChild1Integer, 0, 
    OPC_CheckType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFIDUS),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 2, 
    OPC_CheckType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFIDUS),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_CheckChild1Integer, 0, 
    OPC_CheckType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFIDUS),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_CheckChild0Same, 1,
    OPC_CheckChild1Integer, 2, 
    OPC_CheckType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4f32,
    OPC_Scope, 62, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVUXDSP), 0,
                   MVT::v4i32, 1, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVUXDSP), 0,
                   MVT::v4i32, 1, 0, 
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVUXDSP), 0,
                   MVT::v4i32, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVUXDSP), 0,
                   MVT::v4i32, 1, 1, 
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4i32, 3, 6, 7, 8, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKUDUM), 0,
                   MVT::v4f32, 2, 5, 9, 
    62, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVUXDSP), 0,
                   MVT::v4i32, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVUXDSP), 0,
                   MVT::v4i32, 1, 1, 
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVUXDSP), 0,
                   MVT::v4i32, 1, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVUXDSP), 0,
                   MVT::v4i32, 1, 0, 
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4i32, 3, 6, 7, 8, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKUDUM), 0,
                   MVT::v4f32, 2, 5, 9, 
    0, 
   100|128,1, TARGET_VAL(PPCISD::FCFIDS),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_CheckChild1Integer, 0, 
    OPC_CheckType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFIDS),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 2, 
    OPC_CheckType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFIDS),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_CheckChild1Integer, 0, 
    OPC_CheckType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFIDS),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_CheckChild0Same, 1,
    OPC_CheckChild1Integer, 2, 
    OPC_CheckType, MVT::i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4f32,
    OPC_Scope, 62, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXDSP), 0,
                   MVT::v4i32, 1, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXDSP), 0,
                   MVT::v4i32, 1, 0, 
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXDSP), 0,
                   MVT::v4i32, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXDSP), 0,
                   MVT::v4i32, 1, 1, 
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4i32, 3, 6, 7, 8, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKUDUM), 0,
                   MVT::v4f32, 2, 5, 9, 
    62, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXDSP), 0,
                   MVT::v4i32, 1, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXDSP), 0,
                   MVT::v4i32, 1, 1, 
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXDSP), 0,
                   MVT::v4i32, 1, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::XVCVSXDSP), 0,
                   MVT::v4i32, 1, 0, 
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4i32, 3, 6, 7, 8, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKUDUM), 0,
                   MVT::v4f32, 2, 5, 9, 
    0, 
   84|128,2, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4f32,
    OPC_Scope, 12|128,1, 
     OPC_CheckPatternPredicate, 40,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_CheckComplexPat, /*CP*/0, /*#*/3,
     OPC_CheckComplexPat, /*CP*/0, /*#*/5,
     OPC_CheckComplexPat, /*CP*/0, /*#*/7,
     OPC_EmitMergeInputChains, 4, 0, 2, 4, 6, 
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain,
                   MVT::f64, 2, 8, 9, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 16, 17, 18, 
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain,
                   MVT::f64, 2, 10, 11, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 20, 21, 22, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXMRGHW), 0,
                   MVT::v4i32, 2, 19, 23, 
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain,
                   MVT::f64, 2, 12, 13, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 25, 26, 27, 
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain,
                   MVT::f64, 2, 14, 15, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 29, 30, 31, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXMRGHW), 0,
                   MVT::v4i32, 2, 28, 32, 
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0|OPFL_MemRefs,
                   MVT::v4f32, 3, 24, 33, 34, 
    12|128,1, 
     OPC_CheckPatternPredicate, 28,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_CheckComplexPat, /*CP*/0, /*#*/3,
     OPC_CheckComplexPat, /*CP*/0, /*#*/5,
     OPC_CheckComplexPat, /*CP*/0, /*#*/7,
     OPC_EmitMergeInputChains, 4, 0, 2, 4, 6, 
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain,
                   MVT::f64, 2, 14, 15, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 16, 17, 18, 
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain,
                   MVT::f64, 2, 12, 13, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 20, 21, 22, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXMRGHW), 0,
                   MVT::v4i32, 2, 19, 23, 
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain,
                   MVT::f64, 2, 10, 11, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 25, 26, 27, 
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain,
                   MVT::f64, 2, 8, 9, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 29, 30, 31, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXMRGHW), 0,
                   MVT::v4i32, 2, 28, 32, 
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0|OPFL_MemRefs,
                   MVT::v4f32, 3, 24, 33, 34, 
    0, 
   82|128,8, TARGET_VAL(ISD::STRICT_FP_ROUND),
    OPC_RecordNode,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 0, 
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 37|128,4, TARGET_VAL(ISD::STRICT_FP_ROUND),
     OPC_RecordNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 2, 
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 10|128,2, TARGET_VAL(ISD::STRICT_FP_ROUND),
      OPC_RecordNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild3,
      OPC_SwitchOpcode , 125, TARGET_VAL(ISD::STRICT_FP_ROUND),
       OPC_RecordNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 4,
       OPC_CheckChild1Integer, 2, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4f32,
       OPC_Scope, 54, 
        OPC_CheckPatternPredicate, 40,
        OPC_EmitMergeInputChains, 4, 0, 2, 3, 5, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 1, 4, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 7, 
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 1, 4, 9, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 10, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4f32, 2, 8, 11, 
       54, 
        OPC_CheckPatternPredicate, 28,
        OPC_EmitMergeInputChains, 4, 0, 2, 3, 5, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 4, 1, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 7, 
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 4, 1, 9, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 10, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4f32, 2, 8, 11, 
       0, 
      122, TARGET_VAL(ISD::FP_ROUND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 4,
       OPC_CheckChild1Integer, 2, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4f32,
       OPC_Scope, 53, 
        OPC_CheckPatternPredicate, 40,
        OPC_EmitMergeInputChains, 3, 0, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 1, 4, 5, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 6, 
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 1, 4, 8, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 9, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4f32, 2, 7, 10, 
       53, 
        OPC_CheckPatternPredicate, 28,
        OPC_EmitMergeInputChains, 3, 0, 2, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 4, 1, 5, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 6, 
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 4, 1, 8, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 9, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4f32, 2, 7, 10, 
       0, 
      0,
     5|128,2, TARGET_VAL(ISD::FP_ROUND),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild3,
      OPC_SwitchOpcode , 123, TARGET_VAL(ISD::STRICT_FP_ROUND),
       OPC_RecordNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 2, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4f32,
       OPC_Scope, 53, 
        OPC_CheckPatternPredicate, 40,
        OPC_EmitMergeInputChains, 3, 0, 2, 4, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 1, 3, 5, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 6, 
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 1, 3, 8, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 9, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4f32, 2, 7, 10, 
       53, 
        OPC_CheckPatternPredicate, 28,
        OPC_EmitMergeInputChains, 3, 0, 2, 4, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 3, 1, 5, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 6, 
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 3, 1, 8, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 9, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4f32, 2, 7, 10, 
       0, 
      120, TARGET_VAL(ISD::FP_ROUND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 2, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4f32,
       OPC_Scope, 52, 
        OPC_CheckPatternPredicate, 40,
        OPC_EmitMergeInputChains, 2, 0, 2, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 1, 3, 4, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 1, 3, 7, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4f32, 2, 6, 9, 
       52, 
        OPC_CheckPatternPredicate, 28,
        OPC_EmitMergeInputChains, 2, 0, 2, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 3, 1, 4, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 3, 1, 7, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4f32, 2, 6, 9, 
       0, 
      0,
     0,
    24|128,4, TARGET_VAL(ISD::FP_ROUND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 2, 
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 6|128,2, TARGET_VAL(ISD::STRICT_FP_ROUND),
      OPC_RecordNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild3,
      OPC_SwitchOpcode , 123, TARGET_VAL(ISD::STRICT_FP_ROUND),
       OPC_RecordNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 2, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4f32,
       OPC_Scope, 53, 
        OPC_CheckPatternPredicate, 40,
        OPC_EmitMergeInputChains, 3, 0, 2, 4, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 1, 3, 5, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 6, 
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 1, 3, 8, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 9, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4f32, 2, 7, 10, 
       53, 
        OPC_CheckPatternPredicate, 28,
        OPC_EmitMergeInputChains, 3, 0, 2, 4, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 3, 1, 5, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 6, 
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 3, 1, 8, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 9, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4f32, 2, 7, 10, 
       0, 
      120, TARGET_VAL(ISD::FP_ROUND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 2, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4f32,
       OPC_Scope, 52, 
        OPC_CheckPatternPredicate, 40,
        OPC_EmitMergeInputChains, 2, 0, 2, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 1, 3, 4, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 1, 3, 7, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4f32, 2, 6, 9, 
       52, 
        OPC_CheckPatternPredicate, 28,
        OPC_EmitMergeInputChains, 2, 0, 2, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 3, 1, 4, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 3, 1, 7, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4f32, 2, 6, 9, 
       0, 
      0,
     125|128,1, TARGET_VAL(ISD::FP_ROUND),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild3,
      OPC_SwitchOpcode , 121, TARGET_VAL(ISD::STRICT_FP_ROUND),
       OPC_RecordNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Integer, 2, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4f32,
       OPC_Scope, 52, 
        OPC_CheckPatternPredicate, 40,
        OPC_EmitMergeInputChains, 2, 0, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 1, 2, 4, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 1, 2, 7, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4f32, 2, 6, 9, 
       52, 
        OPC_CheckPatternPredicate, 28,
        OPC_EmitMergeInputChains, 2, 0, 3, 
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 2, 1, 4, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 5, 
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 2, 1, 7, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 8, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4f32, 2, 6, 9, 
       0, 
      114, TARGET_VAL(ISD::FP_ROUND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Integer, 2, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4f32,
       OPC_Scope, 49, 
        OPC_CheckPatternPredicate, 40,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 1, 2, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 4, 
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 1, 2, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4f32, 2, 5, 8, 
       49, 
        OPC_CheckPatternPredicate, 28,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 2, 1, 3, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 4, 
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                      MVT::v4i32, 3, 2, 1, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                      MVT::v4i32, 1, 7, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                      MVT::v4f32, 2, 5, 8, 
       0, 
      0,
     0,
    0,
   0|128,9, TARGET_VAL(ISD::FP_ROUND),
    OPC_Scope, 53|128,8, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 25|128,4, TARGET_VAL(ISD::STRICT_FP_ROUND),
      OPC_RecordNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 0,
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild2,
      OPC_SwitchOpcode , 6|128,2, TARGET_VAL(ISD::STRICT_FP_ROUND),
       OPC_RecordNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_RecordChild0,
       OPC_CheckChild1Integer, 0, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild3,
       OPC_SwitchOpcode , 123, TARGET_VAL(ISD::STRICT_FP_ROUND),
        OPC_RecordNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2, 
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4f32,
        OPC_Scope, 53, 
         OPC_CheckPatternPredicate, 40,
         OPC_EmitMergeInputChains, 3, 1, 2, 4, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 0, 3, 5, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 6, 
         OPC_EmitInteger, MVT::i32, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 0, 3, 8, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 9, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                       MVT::v4f32, 2, 7, 10, 
        53, 
         OPC_CheckPatternPredicate, 28,
         OPC_EmitMergeInputChains, 3, 1, 2, 4, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 3, 0, 5, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 6, 
         OPC_EmitInteger, MVT::i32, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 3, 0, 8, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 9, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                       MVT::v4f32, 2, 7, 10, 
        0, 
       120, TARGET_VAL(ISD::FP_ROUND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2, 
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4f32,
        OPC_Scope, 52, 
         OPC_CheckPatternPredicate, 40,
         OPC_EmitMergeInputChains, 2, 1, 2, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 0, 3, 4, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 0, 3, 7, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 8, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                       MVT::v4f32, 2, 6, 9, 
        52, 
         OPC_CheckPatternPredicate, 28,
         OPC_EmitMergeInputChains, 2, 1, 2, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 3, 0, 4, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 3, 0, 7, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 8, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                       MVT::v4f32, 2, 6, 9, 
        0, 
       0,
      125|128,1, TARGET_VAL(ISD::FP_ROUND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_RecordChild0,
       OPC_CheckChild1Integer, 0, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild3,
       OPC_SwitchOpcode , 121, TARGET_VAL(ISD::STRICT_FP_ROUND),
        OPC_RecordNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Integer, 2, 
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4f32,
        OPC_Scope, 52, 
         OPC_CheckPatternPredicate, 40,
         OPC_EmitMergeInputChains, 2, 1, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 0, 2, 4, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 0, 2, 7, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 8, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                       MVT::v4f32, 2, 6, 9, 
        52, 
         OPC_CheckPatternPredicate, 28,
         OPC_EmitMergeInputChains, 2, 1, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 2, 0, 4, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 2, 0, 7, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 8, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                       MVT::v4f32, 2, 6, 9, 
        0, 
       114, TARGET_VAL(ISD::FP_ROUND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Integer, 2, 
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4f32,
        OPC_Scope, 49, 
         OPC_CheckPatternPredicate, 40,
         OPC_EmitMergeInputChains1_1,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 0, 2, 3, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 4, 
         OPC_EmitInteger, MVT::i32, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 0, 2, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                       MVT::v4f32, 2, 5, 8, 
        49, 
         OPC_CheckPatternPredicate, 28,
         OPC_EmitMergeInputChains1_1,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 2, 0, 3, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 4, 
         OPC_EmitInteger, MVT::i32, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 2, 0, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                       MVT::v4f32, 2, 5, 8, 
        0, 
       0,
      0,
     8|128,4, TARGET_VAL(ISD::FP_ROUND),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 0,
      OPC_CheckChild1Integer, 2, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild2,
      OPC_SwitchOpcode , 126|128,1, TARGET_VAL(ISD::STRICT_FP_ROUND),
       OPC_RecordNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_RecordChild0,
       OPC_CheckChild1Integer, 0, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild3,
       OPC_SwitchOpcode , 121, TARGET_VAL(ISD::STRICT_FP_ROUND),
        OPC_RecordNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Integer, 2, 
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4f32,
        OPC_Scope, 52, 
         OPC_CheckPatternPredicate, 40,
         OPC_EmitMergeInputChains, 2, 1, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 0, 2, 4, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 0, 2, 7, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 8, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                       MVT::v4f32, 2, 6, 9, 
        52, 
         OPC_CheckPatternPredicate, 28,
         OPC_EmitMergeInputChains, 2, 1, 3, 
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 2, 0, 4, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 5, 
         OPC_EmitInteger, MVT::i32, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 2, 0, 7, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 8, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                       MVT::v4f32, 2, 6, 9, 
        0, 
       114, TARGET_VAL(ISD::FP_ROUND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Integer, 2, 
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4f32,
        OPC_Scope, 49, 
         OPC_CheckPatternPredicate, 40,
         OPC_EmitMergeInputChains1_1,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 0, 2, 3, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 4, 
         OPC_EmitInteger, MVT::i32, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 0, 2, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                       MVT::v4f32, 2, 5, 8, 
        49, 
         OPC_CheckPatternPredicate, 28,
         OPC_EmitMergeInputChains1_1,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 2, 0, 3, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 4, 
         OPC_EmitInteger, MVT::i32, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 2, 0, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                       MVT::v4f32, 2, 5, 8, 
        0, 
       0,
      117|128,1, TARGET_VAL(ISD::FP_ROUND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_RecordChild0,
       OPC_CheckChild1Integer, 0, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveChild3,
       OPC_SwitchOpcode , 115, TARGET_VAL(ISD::STRICT_FP_ROUND),
        OPC_RecordNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2, 
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4f32,
        OPC_Scope, 49, 
         OPC_CheckPatternPredicate, 40,
         OPC_EmitMergeInputChains1_2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 0, 1, 3, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 4, 
         OPC_EmitInteger, MVT::i32, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 0, 1, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                       MVT::v4f32, 2, 5, 8, 
        49, 
         OPC_CheckPatternPredicate, 28,
         OPC_EmitMergeInputChains1_2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 1, 0, 3, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 4, 
         OPC_EmitInteger, MVT::i32, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 1, 0, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 7, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                       MVT::v4f32, 2, 5, 8, 
        0, 
       112, TARGET_VAL(ISD::FP_ROUND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2, 
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4f32,
        OPC_Scope, 48, 
         OPC_CheckPatternPredicate, 40,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 0, 1, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 3, 
         OPC_EmitInteger, MVT::i32, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 0, 1, 5, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 6, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                       MVT::v4f32, 2, 4, 7, 
        48, 
         OPC_CheckPatternPredicate, 28,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 1, 0, 2, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 3, 
         OPC_EmitInteger, MVT::i32, 6, 
         OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                       MVT::v4i32, 3, 1, 0, 5, 
         OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                       MVT::v4i32, 1, 6, 
         OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                       MVT::v4f32, 2, 4, 7, 
        0, 
       0,
      0,
     0,
    70, 
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::f64,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_ROUND),
     OPC_CheckChild0Same, 0,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_ROUND),
     OPC_CheckChild0Same, 0,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_ROUND),
     OPC_CheckChild0Same, 0,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSP), 0,
                   MVT::f64, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 1, 2, 3, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTW), 0,
                   MVT::v4f32, 2, 4, 5, 
    0, 
   19|128,1, TARGET_VAL(PPCISD::FCFID),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 66, 
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFID),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 4, 
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2f64,
     OPC_Scope, 9, 
      OPC_CheckPatternPredicate, 40,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                    MVT::v2f64, 1, 0, 
     21, 
      OPC_CheckPatternPredicate, 28,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                    MVT::v4i32, 3, 0, 0, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                    MVT::v2f64, 1, 2, 
     0, 
    66, 
     OPC_CheckChild1Integer, 2, 
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFID),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 6, 
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2f64,
     OPC_Scope, 9, 
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                    MVT::v2f64, 1, 0, 
     21, 
      OPC_CheckPatternPredicate, 40,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                    MVT::v4i32, 3, 0, 0, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                    MVT::v2f64, 1, 2, 
     0, 
    0, 
   19|128,1, TARGET_VAL(PPCISD::FCFIDU),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRZ),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 66, 
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFIDU),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 4, 
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2f64,
     OPC_Scope, 9, 
      OPC_CheckPatternPredicate, 40,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVUXWDP), 0,
                    MVT::v2f64, 1, 0, 
     21, 
      OPC_CheckPatternPredicate, 28,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                    MVT::v4i32, 3, 0, 0, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVUXWDP), 0,
                    MVT::v2f64, 1, 2, 
     0, 
    66, 
     OPC_CheckChild1Integer, 2, 
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFIDU),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 6, 
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2f64,
     OPC_Scope, 9, 
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVUXWDP), 0,
                    MVT::v2f64, 1, 0, 
     21, 
      OPC_CheckPatternPredicate, 40,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                    MVT::v4i32, 3, 0, 0, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVUXWDP), 0,
                    MVT::v2f64, 1, 2, 
     0, 
    0, 
   9|128,5, TARGET_VAL(ISD::FP_EXTEND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 84|128,1, 
     OPC_CheckChild1Integer, 0, 
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_Scope, 48, 
      OPC_CheckChild0Same, 0,
      OPC_Scope, 17, 
       OPC_CheckChild1Integer, 4, 
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2f64,
       OPC_CheckPatternPredicate, 40,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPDP), 0,
                     MVT::v2f64, 1, 0, 
      25, 
       OPC_CheckChild1Integer, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2f64,
       OPC_CheckPatternPredicate, 40,
       OPC_EmitNode1, TARGET_VAL(PPC::XXMRGHW), 0,
                     MVT::v4i32, 2, 0, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPDP), 0,
                     MVT::v2f64, 1, 1, 
      0, 
     30, 
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2f64,
      OPC_CheckPatternPredicate, 40,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 0, 1, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPDP), 0,
                    MVT::v2f64, 1, 3, 
     60, 
      OPC_CheckChild0Same, 0,
      OPC_Scope, 25, 
       OPC_CheckChild1Integer, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2f64,
       OPC_CheckPatternPredicate, 28,
       OPC_EmitNode1, TARGET_VAL(PPC::XXMRGLW), 0,
                     MVT::v4i32, 2, 0, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPDP), 0,
                     MVT::v2f64, 1, 1, 
      29, 
       OPC_CheckChild1Integer, 4, 
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2f64,
       OPC_CheckPatternPredicate, 28,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                     MVT::v4i32, 3, 0, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPDP), 0,
                     MVT::v2f64, 1, 2, 
      0, 
     54, 
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2f64,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitInteger, MVT::i32, 6, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 1, 0, 2, 
      OPC_EmitInteger, MVT::i32, 6, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 1, 0, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                    MVT::v4i32, 3, 3, 5, 6, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPDP), 0,
                    MVT::v2f64, 1, 7, 
     0, 
    34|128,1, 
     OPC_CheckChild1Integer, 2, 
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_Scope, 42, 
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2f64,
      OPC_Scope, 9, 
       OPC_CheckPatternPredicate, 28,
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPDP), 0,
                     MVT::v2f64, 1, 0, 
      21, 
       OPC_CheckPatternPredicate, 40,
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                     MVT::v4i32, 3, 0, 0, 1, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPDP), 0,
                     MVT::v2f64, 1, 2, 
      0, 
     100, 
      OPC_CheckChild1Integer, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2f64,
      OPC_Scope, 44, 
       OPC_CheckPatternPredicate, 40,
       OPC_EmitNode1, TARGET_VAL(PPC::XXMRGHW), 0,
                     MVT::v4i32, 2, 0, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSPDP), 0,
                     MVT::v4i32, 1, 1, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXMRGHW), 0,
                     MVT::v4i32, 2, 0, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSPDP), 0,
                     MVT::v4i32, 1, 3, 
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v2f64, 3, 2, 4, 5, 
      44, 
       OPC_CheckPatternPredicate, 28,
       OPC_EmitNode1, TARGET_VAL(PPC::XXMRGLW), 0,
                     MVT::v4i32, 2, 0, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSPDP), 0,
                     MVT::v4i32, 1, 1, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXMRGLW), 0,
                     MVT::v4i32, 2, 0, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSPDP), 0,
                     MVT::v4i32, 1, 3, 
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v2f64, 3, 2, 4, 5, 
      0, 
     0, 
    62, 
     OPC_CheckChild1Integer, 4, 
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 6, 
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2f64,
     OPC_Scope, 17, 
      OPC_CheckPatternPredicate, 40,
      OPC_EmitNode1, TARGET_VAL(PPC::XXMRGLW), 0,
                    MVT::v4i32, 2, 0, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPDP), 0,
                    MVT::v2f64, 1, 1, 
     17, 
      OPC_CheckPatternPredicate, 28,
      OPC_EmitNode1, TARGET_VAL(PPC::XXMRGHW), 0,
                    MVT::v4i32, 2, 0, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPDP), 0,
                    MVT::v2f64, 1, 1, 
     0, 
    71|128,1, 
     OPC_CheckChild1Integer, 6, 
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_Scope, 79, 
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 6, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2f64,
      OPC_Scope, 21, 
       OPC_CheckPatternPredicate, 28,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v4i32, 3, 1, 0, 2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPDP), 0,
                     MVT::v2f64, 1, 3, 
      45, 
       OPC_CheckPatternPredicate, 40,
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v4i32, 3, 0, 1, 2, 
       OPC_EmitInteger, MVT::i32, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v4i32, 3, 0, 1, 4, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                     MVT::v4i32, 3, 3, 5, 6, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPDP), 0,
                     MVT::v2f64, 1, 7, 
      0, 
     102, 
      OPC_CheckChild0Same, 0,
      OPC_CheckChild1Integer, 4, 
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2f64,
      OPC_Scope, 44, 
       OPC_CheckPatternPredicate, 40,
       OPC_EmitNode1, TARGET_VAL(PPC::XXMRGLW), 0,
                     MVT::v4i32, 2, 0, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSPDP), 0,
                     MVT::v4i32, 1, 1, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXMRGLW), 0,
                     MVT::v4i32, 2, 0, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSPDP), 0,
                     MVT::v4i32, 1, 3, 
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v2f64, 3, 2, 4, 5, 
      44, 
       OPC_CheckPatternPredicate, 28,
       OPC_EmitNode1, TARGET_VAL(PPC::XXMRGHW), 0,
                     MVT::v4i32, 2, 0, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSPDP), 0,
                     MVT::v4i32, 1, 1, 
       OPC_EmitNode1, TARGET_VAL(PPC::XXMRGHW), 0,
                     MVT::v4i32, 2, 0, 0, 
       OPC_EmitNode1, TARGET_VAL(PPC::XVCVSPDP), 0,
                     MVT::v4i32, 1, 3, 
       OPC_EmitInteger, MVT::i32, 4, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                     MVT::v2f64, 3, 2, 4, 5, 
      0, 
     0, 
    0, 
   0,
  111|128,2, 
   OPC_RecordChild0,
   OPC_SwitchType , 6|128,2, MVT::v4f32,
    OPC_CheckChild0Type, MVT::f32,
    OPC_Scope, 26, 
     OPC_CheckChild1Same, 0,
     OPC_CheckChild2Same, 0,
     OPC_CheckChild3Same, 0,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                   MVT::v4f32, 1, 0, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTW), 0,
                   MVT::v4f32, 2, 1, 2, 
    101|128,1, 
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::f32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::f32,
     OPC_Scope, 108, 
      OPC_CheckPatternPredicate, 40,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 4, 0, 5, 
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 7, 2, 8, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 6, 9, 10, 
      OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                    MVT::v4i32, 1, 11, 
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 13, 1, 14, 
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 16, 3, 17, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 15, 18, 19, 
      OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                    MVT::v4i32, 1, 20, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                    MVT::v4f32, 2, 12, 21, 
     108, 
      OPC_CheckPatternPredicate, 28,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 4, 3, 5, 
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 7, 1, 8, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 6, 9, 10, 
      OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                    MVT::v4i32, 1, 11, 
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 13, 2, 14, 
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 16, 0, 17, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 15, 18, 19, 
      OPC_EmitNode1, TARGET_VAL(PPC::XVCVDPSP), 0,
                    MVT::v4i32, 1, 20, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                    MVT::v4f32, 2, 12, 21, 
     0, 
    0, 
   97, MVT::v2f64,
    OPC_CheckChild0Type, MVT::f64,
    OPC_RecordChild1,
    OPC_CheckChild1Type, MVT::f64,
    OPC_Scope, 44, 
     OPC_CheckPatternPredicate, 40,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 2, 0, 3, 
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 5, 1, 6, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v2f64, 3, 4, 7, 8, 
    44, 
     OPC_CheckPatternPredicate, 28,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 2, 1, 3, 
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 5, 0, 6, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v2f64, 3, 4, 7, 8, 
    0, 
   0,
  0, 
 20|128,21, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
  OPC_Scope, 70|128,13, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 1|128,6, TARGET_VAL(PPCISD::MFVSR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 21|128,1, TARGET_VAL(PPCISD::FCTIDZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate, 19,
     OPC_Scope, 32, 
      OPC_CheckPredicate, 24,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 15,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVDPSXDS), 0|OPFL_Chain,
                    MVT::v2i64, 1, 4, 
     103, 
      OPC_CheckPredicate, 22,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 43, 
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/1, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 4, 5, 
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXDS), 0|OPFL_Chain,
                     MVT::f64, 1, 6, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                     MVT::v2i64, 2, 7, 8, 
      43, 
       OPC_CheckPatternPredicate, 17,
       OPC_CheckComplexPat, /*CP*/0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 4, 5, 
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXDS), 0|OPFL_Chain,
                     MVT::f64, 1, 6, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                     MVT::v2i64, 2, 7, 8, 
      0, 
     0, 
    21|128,1, TARGET_VAL(PPCISD::FCTIDUZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate, 19,
     OPC_Scope, 32, 
      OPC_CheckPredicate, 24,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 15,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVDPUXDS), 0|OPFL_Chain,
                    MVT::v2i64, 1, 4, 
     103, 
      OPC_CheckPredicate, 22,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 43, 
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/1, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 4, 5, 
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXDS), 0|OPFL_Chain,
                     MVT::f64, 1, 6, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                     MVT::v2i64, 2, 7, 8, 
      43, 
       OPC_CheckPatternPredicate, 17,
       OPC_CheckComplexPat, /*CP*/0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 4, 5, 
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXDS), 0|OPFL_Chain,
                     MVT::f64, 1, 6, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                     MVT::v2i64, 2, 7, 8, 
      0, 
     0, 
    98|128,1, TARGET_VAL(PPCISD::FCTIWZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate, 19,
     OPC_Scope, 34, 
      OPC_CheckPredicate, 22,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVWSX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPSXWS), 0|OPFL_Chain,
                    MVT::v4i32, 1, 4, 
     58, 
      OPC_CheckPredicate, 24,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0|OPFL_Chain,
                    MVT::f64, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 4, 6, 7, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTW), 0,
                    MVT::v4i32, 2, 8, 9, 
     60, 
      OPC_CheckPredicate, 22,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 15,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWSs), 0|OPFL_Chain,
                    MVT::f32, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 4, 6, 7, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTW), 0,
                    MVT::v4i32, 2, 8, 9, 
     58, 
      OPC_CheckPredicate, 24,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0|OPFL_Chain,
                    MVT::f64, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 4, 6, 7, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTW), 0,
                    MVT::v4i32, 2, 8, 9, 
     0, 
    98|128,1, TARGET_VAL(PPCISD::FCTIWUZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate, 19,
     OPC_Scope, 34, 
      OPC_CheckPredicate, 22,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVWSX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPUXWS), 0|OPFL_Chain,
                    MVT::v4i32, 1, 4, 
     58, 
      OPC_CheckPredicate, 24,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0|OPFL_Chain,
                    MVT::f64, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 4, 6, 7, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTW), 0,
                    MVT::v4i32, 2, 8, 9, 
     60, 
      OPC_CheckPredicate, 22,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 15,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWSs), 0|OPFL_Chain,
                    MVT::f32, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 4, 6, 7, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTW), 0,
                    MVT::v4i32, 2, 8, 9, 
     58, 
      OPC_CheckPredicate, 24,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0|OPFL_Chain,
                    MVT::f64, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 4, 6, 7, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTW), 0,
                    MVT::v4i32, 2, 8, 9, 
     0, 
    0,
   95, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate, 22,
    OPC_CheckPredicate, 7,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_SwitchType , 35, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2Ws), 0|OPFL_Chain,
                   MVT::f64, 1, 4, 
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTWs), 0|OPFL_Chain,
                   MVT::v4i32, 2, 5, 6, 
    35, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2Ds), 0|OPFL_Chain,
                   MVT::f64, 1, 4, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                   MVT::v2i64, 2, 5, 6, 
    0,
   88|128,6, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 19,
    OPC_Scope, 32, 
     OPC_CheckPredicate, 24,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 41,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSLDWIs), 0|OPFL_Chain,
                   MVT::v4i32, 2, 4, 5, 
    38, 
     OPC_CheckPredicate, 23,
     OPC_CheckPredicate, 10,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                   MVT::v2i64, 3, 4, 5, 6, 
    38, 
     OPC_CheckPredicate, 20,
     OPC_CheckPredicate, 10,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                   MVT::v2i64, 3, 4, 5, 6, 
    34, 
     OPC_CheckPredicate, 23,
     OPC_CheckPredicate, 10,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 2,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                   MVT::v2i64, 2, 4, 5, 
    34, 
     OPC_CheckPredicate, 20,
     OPC_CheckPredicate, 10,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 2,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                   MVT::v2i64, 2, 4, 5, 
    32, 
     OPC_CheckPredicate, 24,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 2,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                   MVT::v4i32, 2, 4, 5, 
    35|128,1, 
     OPC_CheckPredicate, 20,
     OPC_Scope, 93, 
      OPC_CheckPredicate, 7,
      OPC_SwitchType , 57, MVT::i32,
       OPC_MoveParent,
       OPC_SwitchType , 25, MVT::v8i16,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat, /*CP*/0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 6, 
        OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::VSPLTHs), 0|OPFL_Chain,
                      MVT::v8i16, 2, 4, 5, 
       25, MVT::v4i32,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat, /*CP*/0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3, 
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTWs), 0|OPFL_Chain,
                      MVT::v4i32, 2, 4, 5, 
       0,
      28, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                     MVT::v2i64, 2, 4, 5, 
      0,
     64, 
      OPC_CheckPredicate, 8,
      OPC_SwitchType , 28, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTWs), 0|OPFL_Chain,
                     MVT::v4i32, 2, 4, 5, 
      28, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                     MVT::v2i64, 2, 4, 5, 
      0,
     0, 
    2|128,1, 
     OPC_CheckPredicate, 22,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 30, 
      OPC_CheckPredicate, 7,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 64,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 14, 
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VSPLTBs), 0|OPFL_Chain,
                    MVT::v16i8, 2, 4, 5, 
     30, 
      OPC_CheckPredicate, 8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 64,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6, 
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VSPLTHs), 0|OPFL_Chain,
                    MVT::v8i16, 2, 4, 5, 
     30, 
      OPC_CheckPredicate, 7,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 3,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 14, 
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VSPLTBs), 0|OPFL_Chain,
                    MVT::v16i8, 2, 4, 5, 
     30, 
      OPC_CheckPredicate, 8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 3,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6, 
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VSPLTHs), 0|OPFL_Chain,
                    MVT::v8i16, 2, 4, 5, 
     0, 
    65, 
     OPC_CheckPredicate, 24,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 29, 
      OPC_CheckPatternPredicate, 5,
      OPC_CheckComplexPat, /*CP*/1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::v2i64, 3, 4, 5, 6, 
     25, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                    MVT::v2i64, 2, 4, 5, 
     0, 
    68, 
     OPC_CheckPredicate, 22,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 30, 
      OPC_CheckPredicate, 8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 0,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVRHX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 2, 3, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                    MVT::v8i16, 2, 4, 5, 
     30, 
      OPC_CheckPredicate, 7,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 0,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVRBX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 2, 3, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                    MVT::v16i8, 2, 4, 5, 
     0, 
    121, 
     OPC_CheckPredicate, 24,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 25, 
      OPC_CheckPatternPredicate, 65,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                    MVT::v2i64, 2, 4, 5, 
     29, 
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::v2i64, 3, 4, 5, 6, 
     29, 
      OPC_CheckPatternPredicate, 5,
      OPC_CheckComplexPat, /*CP*/2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::v2i64, 3, 4, 5, 6, 
     25, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                    MVT::v2i64, 2, 4, 5, 
     0, 
    80, 
     OPC_CheckPredicate, 23,
     OPC_CheckPredicate, 8,
     OPC_SwitchType , 35, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2Ws), 0|OPFL_Chain,
                    MVT::f64, 1, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTWs), 0|OPFL_Chain,
                    MVT::v4i32, 2, 5, 6, 
     35, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2Ds), 0|OPFL_Chain,
                    MVT::f64, 1, 4, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                    MVT::v2i64, 2, 5, 6, 
     0,
    0, 
   0,
  118|128,4, 
   OPC_RecordChild0,
   OPC_Scope, 16|128,4, 
    OPC_CheckChild0Type, MVT::i32,
    OPC_SwitchType , 43|128,1, MVT::v4i32,
     OPC_Scope, 9, 
      OPC_CheckPatternPredicate, 8,
      OPC_MorphNodeTo1, TARGET_VAL(PPC::MTVSRWS), 0,
                    MVT::v4i32, 1, 0, 
     57, 
      OPC_CheckPatternPredicate, 36,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 2, 0, 3, 
      OPC_EmitInteger, MVT::i32, 64, 
      OPC_EmitInteger, MVT::i32, 62, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                    MVT::i64, 3, 4, 5, 6, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                    MVT::f64, 1, 7, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 1, 8, 9, 
     100, 
      OPC_CheckPatternPredicate, 35,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 2, 0, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                    MVT::f64, 1, 4, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3, 1, 5, 6, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 9, 0, 10, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                    MVT::f64, 1, 11, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3, 8, 12, 13, 
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 7, 14, 15, 
     0, 
    44|128,1, MVT::v16i8,
     OPC_Scope, 57, 
      OPC_CheckPatternPredicate, 36,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 2, 0, 3, 
      OPC_EmitInteger, MVT::i32, 112, 
      OPC_EmitInteger, MVT::i32, 14, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                    MVT::i64, 3, 4, 5, 6, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                    MVT::f64, 1, 7, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v16i8, 3, 1, 8, 9, 
     111, 
      OPC_CheckPatternPredicate, 35,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 2, 0, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                    MVT::f64, 1, 4, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3, 1, 5, 6, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 9, 0, 10, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                    MVT::f64, 1, 11, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3, 8, 12, 13, 
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 7, 14, 15, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v16i8, 2, 16, 17, 
     0, 
    44|128,1, MVT::v8i16,
     OPC_Scope, 57, 
      OPC_CheckPatternPredicate, 36,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 2, 0, 3, 
      OPC_EmitInteger, MVT::i32, 96, 
      OPC_EmitInteger, MVT::i32, 30, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLDICR), 0,
                    MVT::i64, 3, 4, 5, 6, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                    MVT::f64, 1, 7, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v8i16, 3, 1, 8, 9, 
     111, 
      OPC_CheckPatternPredicate, 35,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 2, 0, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                    MVT::f64, 1, 4, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3, 1, 5, 6, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 9, 0, 10, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                    MVT::f64, 1, 11, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3, 8, 12, 13, 
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v4i32, 3, 7, 14, 15, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v8i16, 2, 16, 17, 
     0, 
    0,
   96, 
    OPC_CheckChild0Type, MVT::i64,
    OPC_CheckType, MVT::v2i64,
    OPC_Scope, 24, 
     OPC_CheckPatternPredicate, 36,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                   MVT::f64, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v2i64, 3, 1, 2, 3, 
    64, 
     OPC_CheckPatternPredicate, 35,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v2i64, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                   MVT::f64, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                   MVT::v2i64, 3, 1, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v2i64, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                   MVT::f64, 1, 0, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                   MVT::v2i64, 3, 5, 6, 7, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v2i64, 3, 4, 8, 9, 
    0, 
   0, 
  90|128,1, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_RecordChild1,
   OPC_CheckPredicate, 19,
   OPC_CheckPredicate, 24,
   OPC_SwitchType , 57, MVT::f32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4f32,
    OPC_Scope, 25, 
     OPC_CheckPatternPredicate, 41,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSLDWIs), 0|OPFL_Chain,
                   MVT::v4f32, 2, 4, 5, 
    25, 
     OPC_CheckPatternPredicate, 2,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                   MVT::v4f32, 2, 4, 5, 
    0, 
   15|128,1, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2f64,
    OPC_Scope, 29, 
     OPC_CheckPatternPredicate, 5,
     OPC_CheckComplexPat, /*CP*/1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                   MVT::v2f64, 3, 4, 5, 6, 
    25, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                   MVT::v2f64, 2, 4, 5, 
    25, 
     OPC_CheckPatternPredicate, 65,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                   MVT::v2f64, 2, 4, 5, 
    29, 
     OPC_CheckPatternPredicate, 5,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                   MVT::v2f64, 3, 4, 5, 6, 
    25, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                   MVT::v2f64, 2, 4, 5, 
    0, 
   0,
  117, 
   OPC_RecordChild0,
   OPC_SwitchType , 67, MVT::v2f64,
    OPC_CheckChild0Type, MVT::f64,
    OPC_Scope, 17, 
     OPC_CheckPatternPredicate, 40,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v2f64, 3, 1, 0, 2, 
    44, 
     OPC_CheckPatternPredicate, 28,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 1, 0, 2, 
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 4, 0, 5, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v2f64, 3, 3, 6, 7, 
    0, 
   43, MVT::v4f32,
    OPC_CheckChild0Type, MVT::f32,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 41,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                   MVT::v4f32, 1, 0, 
    28, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                   MVT::v4i32, 1, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                   MVT::v4i32, 1, 0, 
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v4f32, 3, 1, 2, 3, 
    0, 
   0,
  0, 
 103|128,16, TARGET_VAL(PPCISD::SCALAR_TO_VECTOR_PERMUTED),
  OPC_Scope, 87|128,12, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 57|128,6, TARGET_VAL(PPCISD::MFVSR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 29|128,1, TARGET_VAL(PPCISD::FCTIDZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate, 19,
     OPC_Scope, 32, 
      OPC_CheckPredicate, 24,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 15,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVDPSXDS), 0|OPFL_Chain,
                    MVT::v2i64, 1, 4, 
     111, 
      OPC_CheckPredicate, 22,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 47, 
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/1, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 5, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXDS), 0|OPFL_Chain,
                     MVT::f64, 1, 7, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                     MVT::v2i64, 3, 4, 8, 9, 
      47, 
       OPC_CheckPatternPredicate, 17,
       OPC_CheckComplexPat, /*CP*/0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 5, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXDS), 0|OPFL_Chain,
                     MVT::f64, 1, 7, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                     MVT::v2i64, 3, 4, 8, 9, 
      0, 
     0, 
    29|128,1, TARGET_VAL(PPCISD::FCTIDUZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate, 19,
     OPC_Scope, 32, 
      OPC_CheckPredicate, 24,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 15,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 2, 3, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVDPUXDS), 0|OPFL_Chain,
                    MVT::v2i64, 1, 4, 
     111, 
      OPC_CheckPredicate, 22,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 47, 
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/1, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 5, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXDS), 0|OPFL_Chain,
                     MVT::f64, 1, 7, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                     MVT::v2i64, 3, 4, 8, 9, 
      47, 
       OPC_CheckPatternPredicate, 17,
       OPC_CheckComplexPat, /*CP*/0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3, 
       OPC_EmitStringInteger, MVT::i32, PPC::VSFRCRegClassID,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                     MVT::f64, 2, 5, 6, 
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXDS), 0|OPFL_Chain,
                     MVT::f64, 1, 7, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                     MVT::v2i64, 3, 4, 8, 9, 
      0, 
     0, 
    118|128,1, TARGET_VAL(PPCISD::FCTIWZ),
     OPC_Scope, 80|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckPredicate, 19,
      OPC_Scope, 49, 
       OPC_CheckPredicate, 22,
       OPC_CheckPredicate, 25,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                     MVT::v4i32, 3, 4, 5, 6, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPSXWS), 0|OPFL_Chain,
                     MVT::v4i32, 1, 7, 
      47, 
       OPC_CheckPredicate, 24,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/1, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0|OPFL_Chain,
                     MVT::f64, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                     MVT::v4i32, 3, 4, 6, 7, 
      49, 
       OPC_CheckPredicate, 22,
       OPC_CheckPredicate, 25,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 15,
       OPC_CheckComplexPat, /*CP*/0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWSs), 0|OPFL_Chain,
                     MVT::f32, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                     MVT::v4i32, 3, 4, 6, 7, 
      47, 
       OPC_CheckPredicate, 24,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 17,
       OPC_CheckComplexPat, /*CP*/0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0|OPFL_Chain,
                     MVT::f64, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                     MVT::v4i32, 3, 4, 6, 7, 
      0, 
     33, 
      OPC_RecordChild0,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0,
                    MVT::f64, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 1, 2, 3, 
     0, 
    118|128,1, TARGET_VAL(PPCISD::FCTIWUZ),
     OPC_Scope, 80|128,1, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckPredicate, 19,
      OPC_Scope, 49, 
       OPC_CheckPredicate, 22,
       OPC_CheckPredicate, 25,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                     MVT::v4i32, 3, 4, 5, 6, 
       OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPUXWS), 0|OPFL_Chain,
                     MVT::v4i32, 1, 7, 
      47, 
       OPC_CheckPredicate, 24,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/1, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0|OPFL_Chain,
                     MVT::f64, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                     MVT::v4i32, 3, 4, 6, 7, 
      49, 
       OPC_CheckPredicate, 22,
       OPC_CheckPredicate, 25,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 15,
       OPC_CheckComplexPat, /*CP*/0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 2, 2, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWSs), 0|OPFL_Chain,
                     MVT::f32, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                     MVT::v4i32, 3, 4, 6, 7, 
      47, 
       OPC_CheckPredicate, 24,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 17,
       OPC_CheckComplexPat, /*CP*/0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3, 
       OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0|OPFL_Chain,
                     MVT::f64, 1, 5, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                     MVT::v4i32, 3, 4, 6, 7, 
      0, 
     33, 
      OPC_RecordChild0,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0,
                    MVT::f64, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 1, 2, 3, 
     0, 
    0,
   103, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 19,
    OPC_CheckPredicate, 22,
    OPC_CheckPredicate, 7,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_SwitchType , 39, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2Ws), 0|OPFL_Chain,
                   MVT::f64, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                   MVT::v4i32, 3, 4, 6, 7, 
    39, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::VEXTSB2Ds), 0|OPFL_Chain,
                   MVT::f64, 1, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                   MVT::v2i64, 3, 4, 6, 7, 
    0,
   41|128,5, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 19,
    OPC_Scope, 36, 
     OPC_CheckPredicate, 24,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 41,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                   MVT::v4i32, 3, 4, 5, 6, 
    38, 
     OPC_CheckPredicate, 23,
     OPC_CheckPredicate, 10,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 2,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                   MVT::v2i64, 3, 4, 5, 6, 
    38, 
     OPC_CheckPredicate, 20,
     OPC_CheckPredicate, 10,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 2,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                   MVT::v2i64, 3, 4, 5, 6, 
    36, 
     OPC_CheckPredicate, 24,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 2,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                   MVT::v4i32, 3, 4, 5, 6, 
    55|128,1, 
     OPC_CheckPredicate, 20,
     OPC_Scope, 105, 
      OPC_CheckPredicate, 7,
      OPC_SwitchType , 65, MVT::i32,
       OPC_MoveParent,
       OPC_SwitchType , 29, MVT::v8i16,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat, /*CP*/0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                      MVT::v8i16, 3, 4, 5, 6, 
       29, MVT::v4i32,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat, /*CP*/0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i64, 2, 
        OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3, 
        OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                      MVT::v4i32, 3, 4, 5, 6, 
       0,
      32, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                     MVT::v2i64, 3, 4, 5, 6, 
      0,
     72, 
      OPC_CheckPredicate, 8,
      OPC_SwitchType , 32, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                     MVT::v4i32, 3, 4, 5, 6, 
      32, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i64, 2, 
       OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3, 
       OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
       OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                     MVT::v2i64, 3, 4, 5, 6, 
      0,
     0, 
    18|128,1, 
     OPC_CheckPredicate, 22,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 34, 
      OPC_CheckPredicate, 7,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 64,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::v16i8, 3, 4, 5, 6, 
     34, 
      OPC_CheckPredicate, 8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 64,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::v8i16, 3, 4, 5, 6, 
     34, 
      OPC_CheckPredicate, 7,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 3,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::v16i8, 3, 4, 5, 6, 
     34, 
      OPC_CheckPredicate, 8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 3,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::v8i16, 3, 4, 5, 6, 
     0, 
    99, 
     OPC_CheckPredicate, 24,
     OPC_CheckType, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 29, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::v2i64, 3, 4, 5, 6, 
     29, 
      OPC_CheckPatternPredicate, 65,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::v2i64, 3, 4, 5, 6, 
     29, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::v2i64, 3, 4, 5, 6, 
     0, 
    88, 
     OPC_CheckPredicate, 23,
     OPC_CheckPredicate, 8,
     OPC_SwitchType , 39, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2Ws), 0|OPFL_Chain,
                    MVT::f64, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::v4i32, 3, 4, 6, 7, 
     39, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::VEXTSH2Ds), 0|OPFL_Chain,
                    MVT::f64, 1, 5, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::v2i64, 3, 4, 6, 7, 
     0,
    0, 
   0,
  36|128,2, 
   OPC_RecordChild0,
   OPC_Scope, 127|128,1, 
    OPC_CheckChild0Type, MVT::i32,
    OPC_SwitchType , 84, MVT::v16i8,
     OPC_Scope, 24, 
      OPC_CheckPatternPredicate, 36,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                    MVT::f64, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v16i8, 3, 1, 2, 3, 
     56, 
      OPC_CheckPatternPredicate, 35,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 2, 0, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                    MVT::f64, 1, 4, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3, 1, 5, 6, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v16i8, 2, 7, 8, 
     0, 
    84, MVT::v8i16,
     OPC_Scope, 24, 
      OPC_CheckPatternPredicate, 36,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                    MVT::f64, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v8i16, 3, 1, 2, 3, 
     56, 
      OPC_CheckPatternPredicate, 35,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0, 
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3, 2, 0, 3, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                    MVT::f64, 1, 4, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3, 1, 5, 6, 
      OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::v8i16, 2, 7, 8, 
     0, 
    77, MVT::v4i32,
     OPC_Scope, 24, 
      OPC_CheckPatternPredicate, 36,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                    MVT::f64, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 1, 2, 3, 
     24, 
      OPC_CheckPatternPredicate, 35,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                    MVT::f64, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 1, 2, 3, 
     24, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                    MVT::f64, 1, 0, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 1, 2, 3, 
     0, 
    0,
   31, 
    OPC_CheckChild0Type, MVT::i64,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v2i64, 0, 
    OPC_EmitNode1, TARGET_VAL(PPC::MTVSRD), 0,
                  MVT::f64, 1, 0, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                  MVT::v2i64, 3, 1, 2, 3, 
   0, 
  49|128,1, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_RecordChild1,
   OPC_CheckPredicate, 19,
   OPC_CheckPredicate, 24,
   OPC_SwitchType , 65, MVT::f32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4f32,
    OPC_Scope, 29, 
     OPC_CheckPatternPredicate, 41,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                   MVT::v4f32, 3, 4, 5, 6, 
    29, 
     OPC_CheckPatternPredicate, 2,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                   MVT::v4f32, 3, 4, 5, 6, 
    0, 
   95, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2f64,
    OPC_Scope, 29, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                   MVT::v2f64, 3, 4, 5, 6, 
    29, 
     OPC_CheckPatternPredicate, 65,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                   MVT::v2f64, 3, 4, 5, 6, 
    29, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                   MVT::v2f64, 3, 4, 5, 6, 
    0, 
   0,
  50, 
   OPC_RecordChild0,
   OPC_SwitchType , 19, MVT::v2f64,
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitInteger, MVT::i64, 2, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                  MVT::v2f64, 3, 1, 0, 2, 
   24, MVT::v4f32,
    OPC_CheckChild0Type, MVT::f32,
    OPC_Scope, 9, 
     OPC_CheckPatternPredicate, 41,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                   MVT::v4f32, 1, 0, 
    9, 
     OPC_CheckPatternPredicate, 2,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                   MVT::v4f32, 1, 0, 
    0, 
   0,
  0, 
 59|128,22, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
  OPC_RecordChild0,
  OPC_Scope, 25|128,5, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 69|128,2, TARGET_VAL(PPCISD::FCTIWZ),
    OPC_RecordChild0,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 78, 
     OPC_CheckChild2Integer, 0, 
     OPC_Scope, 36, 
      OPC_CheckPatternPredicate, 3,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     36, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     0, 
    78, 
     OPC_CheckChild2Integer, 2, 
     OPC_Scope, 36, 
      OPC_CheckPatternPredicate, 3,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     36, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     0, 
    78, 
     OPC_CheckChild2Integer, 4, 
     OPC_Scope, 36, 
      OPC_CheckPatternPredicate, 3,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     36, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     0, 
    78, 
     OPC_CheckChild2Integer, 6, 
     OPC_Scope, 36, 
      OPC_CheckPatternPredicate, 3,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     36, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSXWS), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     0, 
    0, 
   69|128,2, TARGET_VAL(PPCISD::FCTIWUZ),
    OPC_RecordChild0,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 78, 
     OPC_CheckChild2Integer, 0, 
     OPC_Scope, 36, 
      OPC_CheckPatternPredicate, 3,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     36, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     0, 
    78, 
     OPC_CheckChild2Integer, 2, 
     OPC_Scope, 36, 
      OPC_CheckPatternPredicate, 3,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     36, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     0, 
    78, 
     OPC_CheckChild2Integer, 4, 
     OPC_Scope, 36, 
      OPC_CheckPatternPredicate, 3,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     36, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     0, 
    78, 
     OPC_CheckChild2Integer, 6, 
     OPC_Scope, 36, 
      OPC_CheckPatternPredicate, 3,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     36, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPUXWS), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     0, 
    0, 
   0,
  122|128,7, 
   OPC_RecordChild1,
   OPC_Scope, 39|128,1, 
    OPC_CheckChild2Integer, 0, 
    OPC_SwitchType , 125, MVT::v4i32,
     OPC_Scope, 14, 
      OPC_CheckPatternPredicate, 66,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSW), 0,
                    MVT::v4i32, 3, 0, 2, 1, 
     16, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_CheckPatternPredicate, 67,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSW), 0,
                    MVT::v4i32, 3, 0, 2, 1, 
     16, 
      OPC_CheckChild2Type, MVT::i64,
      OPC_CheckPatternPredicate, 67,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSW), 0,
                    MVT::v4i32, 3, 0, 2, 1, 
     36, 
      OPC_CheckPatternPredicate, 3,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     36, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     0, 
    34, MVT::v2i64,
     OPC_Scope, 16, 
      OPC_CheckChild2Type, MVT::i64,
      OPC_CheckPatternPredicate, 66,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSD), 0,
                    MVT::v2i64, 3, 0, 2, 1, 
     14, 
      OPC_CheckPatternPredicate, 67,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSD), 0,
                    MVT::v2i64, 3, 0, 2, 1, 
     0, 
    0,
   39|128,1, 
    OPC_CheckChild2Integer, 2, 
    OPC_SwitchType , 125, MVT::v4i32,
     OPC_Scope, 14, 
      OPC_CheckPatternPredicate, 66,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSW), 0,
                    MVT::v4i32, 3, 0, 2, 1, 
     16, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_CheckPatternPredicate, 67,
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSW), 0,
                    MVT::v4i32, 3, 0, 2, 1, 
     16, 
      OPC_CheckChild2Type, MVT::i64,
      OPC_CheckPatternPredicate, 67,
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSW), 0,
                    MVT::v4i32, 3, 0, 2, 1, 
     36, 
      OPC_CheckPatternPredicate, 3,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     36, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                    MVT::f64, 1, 1, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 3, 4, 
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4i32, 3, 0, 5, 6, 
     0, 
    34, MVT::v2i64,
     OPC_Scope, 16, 
      OPC_CheckChild2Type, MVT::i64,
      OPC_CheckPatternPredicate, 66,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSD), 0,
                    MVT::v2i64, 3, 0, 2, 1, 
     14, 
      OPC_CheckPatternPredicate, 67,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSD), 0,
                    MVT::v2i64, 3, 0, 2, 1, 
     0, 
    0,
   1|128,1, 
    OPC_CheckChild2Integer, 4, 
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 14, 
     OPC_CheckPatternPredicate, 66,
     OPC_EmitInteger, MVT::i32, 8, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSW), 0,
                   MVT::v4i32, 3, 0, 2, 1, 
    16, 
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPatternPredicate, 67,
     OPC_EmitInteger, MVT::i32, 16, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSW), 0,
                   MVT::v4i32, 3, 0, 2, 1, 
    16, 
     OPC_CheckChild2Type, MVT::i64,
     OPC_CheckPatternPredicate, 67,
     OPC_EmitInteger, MVT::i32, 16, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSW), 0,
                   MVT::v4i32, 3, 0, 2, 1, 
    36, 
     OPC_CheckPatternPredicate, 3,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                   MVT::f64, 1, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitInteger, MVT::i32, 16, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                   MVT::v4i32, 3, 0, 5, 6, 
    36, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                   MVT::f64, 1, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitInteger, MVT::i32, 8, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                   MVT::v4i32, 3, 0, 5, 6, 
    0, 
   1|128,1, 
    OPC_CheckChild2Integer, 6, 
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 14, 
     OPC_CheckPatternPredicate, 66,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSW), 0,
                   MVT::v4i32, 3, 0, 2, 1, 
    16, 
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPatternPredicate, 67,
     OPC_EmitInteger, MVT::i32, 24, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSW), 0,
                   MVT::v4i32, 3, 0, 2, 1, 
    16, 
     OPC_CheckChild2Type, MVT::i64,
     OPC_CheckPatternPredicate, 67,
     OPC_EmitInteger, MVT::i32, 24, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSW), 0,
                   MVT::v4i32, 3, 0, 2, 1, 
    36, 
     OPC_CheckPatternPredicate, 3,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                   MVT::f64, 1, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitInteger, MVT::i32, 24, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                   MVT::v4i32, 3, 0, 5, 6, 
    36, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                   MVT::f64, 1, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                   MVT::v4i32, 3, 0, 5, 6, 
    0, 
   46, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_RecordChild2,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 13, 
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPatternPredicate, 68,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSBLX), 0,
                   MVT::v16i8, 3, 0, 2, 1, 
    24, 
     OPC_CheckChild2Type, MVT::i64,
     OPC_CheckPatternPredicate, 66,
     OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::i32, 2, 2, 3, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSBRX), 0,
                   MVT::v16i8, 3, 0, 4, 1, 
    0, 
   35, 
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i64,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 66,
    OPC_EmitInteger, MVT::i32, 6, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 56, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                  MVT::i64, 4, 2, 3, 4, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSDRX), 0,
                  MVT::v2i64, 3, 0, 6, 1, 
   37, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i32,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 68,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 2, 3, 4, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSHLX), 0,
                  MVT::v8i16, 3, 0, 6, 1, 
   35, 
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i32,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 68,
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 2, 3, 4, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSWLX), 0,
                  MVT::v4i32, 3, 0, 6, 1, 
   29, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i64,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 69,
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 2, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSBLX), 0,
                  MVT::v16i8, 3, 0, 4, 1, 
   35, 
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i64,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 69,
    OPC_EmitInteger, MVT::i32, 6, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 56, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                  MVT::i64, 4, 2, 3, 4, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSDLX), 0,
                  MVT::v2i64, 3, 0, 6, 1, 
   48, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i64,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 66,
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 2, 3, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 4, 5, 6, 7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSHRX), 0,
                  MVT::v8i16, 3, 0, 8, 1, 
   46, 
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i64,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 66,
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 2, 3, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 4, 5, 6, 7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSWRX), 0,
                  MVT::v4i32, 3, 0, 8, 1, 
   48, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i64,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 69,
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 2, 3, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 60, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 4, 5, 6, 7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSHLX), 0,
                  MVT::v8i16, 3, 0, 8, 1, 
   46, 
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i64,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 69,
    OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::i32, 2, 2, 3, 
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 4, 5, 6, 7, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSWLX), 0,
                  MVT::v4i32, 3, 0, 8, 1, 
   0, 
  72|128,2, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FP_ROUND),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::f64,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4f32,
   OPC_Scope, 78, 
    OPC_CheckChild2Integer, 0, 
    OPC_Scope, 36, 
     OPC_CheckPatternPredicate, 3,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSP), 0,
                   MVT::f64, 1, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                   MVT::v4f32, 3, 0, 5, 6, 
    36, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSP), 0,
                   MVT::f64, 1, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitInteger, MVT::i32, 24, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                   MVT::v4f32, 3, 0, 5, 6, 
    0, 
   78, 
    OPC_CheckChild2Integer, 2, 
    OPC_Scope, 36, 
     OPC_CheckPatternPredicate, 3,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSP), 0,
                   MVT::f64, 1, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitInteger, MVT::i32, 8, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                   MVT::v4f32, 3, 0, 5, 6, 
    36, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSP), 0,
                   MVT::f64, 1, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitInteger, MVT::i32, 16, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                   MVT::v4f32, 3, 0, 5, 6, 
    0, 
   78, 
    OPC_CheckChild2Integer, 4, 
    OPC_Scope, 36, 
     OPC_CheckPatternPredicate, 3,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSP), 0,
                   MVT::f64, 1, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitInteger, MVT::i32, 16, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                   MVT::v4f32, 3, 0, 5, 6, 
    36, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSP), 0,
                   MVT::f64, 1, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitInteger, MVT::i32, 8, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                   MVT::v4f32, 3, 0, 5, 6, 
    0, 
   78, 
    OPC_CheckChild2Integer, 6, 
    OPC_Scope, 36, 
     OPC_CheckPatternPredicate, 3,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSP), 0,
                   MVT::f64, 1, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitInteger, MVT::i32, 24, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                   MVT::v4f32, 3, 0, 5, 6, 
    36, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i64, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSP), 0,
                   MVT::f64, 1, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                   MVT::v4i32, 3, 2, 3, 4, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                   MVT::v4f32, 3, 0, 5, 6, 
    0, 
   0, 
  83|128,2, 
   OPC_RecordChild1,
   OPC_Scope, 116, 
    OPC_CheckChild2Integer, 0, 
    OPC_SwitchType , 62, MVT::v2f64,
     OPC_Scope, 29, 
      OPC_CheckPatternPredicate, 40,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 1, 3, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v2f64, 3, 4, 0, 5, 
     29, 
      OPC_CheckPatternPredicate, 28,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 1, 3, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v2f64, 3, 0, 4, 5, 
     0, 
    46, MVT::v4f32,
     OPC_Scope, 21, 
      OPC_CheckPatternPredicate, 3,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                    MVT::v4f32, 1, 1, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4f32, 3, 0, 2, 3, 
     21, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                    MVT::v4f32, 1, 1, 
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4f32, 3, 0, 2, 3, 
     0, 
    0,
   116, 
    OPC_CheckChild2Integer, 2, 
    OPC_SwitchType , 62, MVT::v2f64,
     OPC_Scope, 29, 
      OPC_CheckPatternPredicate, 40,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 1, 3, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v2f64, 3, 0, 4, 5, 
     29, 
      OPC_CheckPatternPredicate, 28,
      OPC_EmitInteger, MVT::i64, 2, 
      OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::v4i32, 3, 2, 1, 3, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                    MVT::v2f64, 3, 4, 0, 5, 
     0, 
    46, MVT::v4f32,
     OPC_Scope, 21, 
      OPC_CheckPatternPredicate, 3,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                    MVT::v4f32, 1, 1, 
      OPC_EmitInteger, MVT::i32, 8, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4f32, 3, 0, 2, 3, 
     21, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                    MVT::v4f32, 1, 1, 
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                    MVT::v4f32, 3, 0, 2, 3, 
     0, 
    0,
   50, 
    OPC_CheckChild2Integer, 4, 
    OPC_CheckType, MVT::v4f32,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 3,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                   MVT::v4f32, 1, 1, 
     OPC_EmitInteger, MVT::i32, 16, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                   MVT::v4f32, 3, 0, 2, 3, 
    21, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                   MVT::v4f32, 1, 1, 
     OPC_EmitInteger, MVT::i32, 8, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                   MVT::v4f32, 3, 0, 2, 3, 
    0, 
   50, 
    OPC_CheckChild2Integer, 6, 
    OPC_CheckType, MVT::v4f32,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 3,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                   MVT::v4f32, 1, 1, 
     OPC_EmitInteger, MVT::i32, 24, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                   MVT::v4f32, 3, 0, 2, 3, 
    21, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                   MVT::v4f32, 1, 1, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                   MVT::v4f32, 3, 0, 2, 3, 
    0, 
   0, 
  20|128,2, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate, 19,
   OPC_CheckPredicate, 24,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::i64,
   OPC_CheckType, MVT::v2f64,
   OPC_Scope, 127, 
    OPC_CheckPatternPredicate, 66,
    OPC_Scope, 40, 
     OPC_CheckComplexPat, /*CP*/1, /*#*/2,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 56, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                   MVT::i64, 4, 3, 6, 7, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::LD), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 4, 5, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSDRX), 0,
                   MVT::v2f64, 3, 0, 9, 10, 
    40, 
     OPC_CheckComplexPat, /*CP*/4, /*#*/2,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 56, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                   MVT::i64, 4, 3, 6, 7, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::PLD), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 4, 5, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSDRX), 0,
                   MVT::v2f64, 3, 0, 9, 10, 
    40, 
     OPC_CheckComplexPat, /*CP*/2, /*#*/2,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 56, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                   MVT::i64, 4, 3, 6, 7, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::LDX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 4, 5, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSDRX), 0,
                   MVT::v2f64, 3, 0, 9, 10, 
    0, 
   127, 
    OPC_CheckPatternPredicate, 69,
    OPC_Scope, 40, 
     OPC_CheckComplexPat, /*CP*/1, /*#*/2,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 56, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                   MVT::i64, 4, 3, 6, 7, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::LD), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 4, 5, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSDLX), 0,
                   MVT::v2f64, 3, 0, 9, 10, 
    40, 
     OPC_CheckComplexPat, /*CP*/4, /*#*/2,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 56, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                   MVT::i64, 4, 3, 6, 7, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::PLD), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 4, 5, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSDLX), 0,
                   MVT::v2f64, 3, 0, 9, 10, 
    40, 
     OPC_CheckComplexPat, /*CP*/2, /*#*/2,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 56, 
     OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                   MVT::i64, 4, 3, 6, 7, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::LDX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i64, 2, 4, 5, 
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSDLX), 0,
                   MVT::v2f64, 3, 0, 9, 10, 
    0, 
   0, 
  106|128,1, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 58|128,1, 
    OPC_CheckChild2Type, MVT::i64,
    OPC_SwitchType , 78, MVT::v2f64,
     OPC_Scope, 37, 
      OPC_CheckPatternPredicate, 66,
      OPC_EmitInteger, MVT::i32, 6, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 56, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                    MVT::i64, 4, 2, 3, 4, 5, 
      OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                    MVT::i64, 1, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSDRX), 0,
                    MVT::v2f64, 3, 0, 6, 7, 
     37, 
      OPC_CheckPatternPredicate, 69,
      OPC_EmitInteger, MVT::i32, 6, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 56, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLWINM8), 0,
                    MVT::i64, 4, 2, 3, 4, 5, 
      OPC_EmitNode1, TARGET_VAL(PPC::MFVSRD), 0,
                    MVT::i64, 1, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSDLX), 0,
                    MVT::v2f64, 3, 0, 6, 7, 
     0, 
    100, MVT::v4f32,
     OPC_Scope, 48, 
      OPC_CheckPatternPredicate, 66,
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 2, 3, 
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 58, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                    MVT::i32, 4, 4, 5, 6, 7, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                    MVT::v4i32, 1, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSWVRX), 0,
                    MVT::v4f32, 3, 0, 8, 9, 
     48, 
      OPC_CheckPatternPredicate, 69,
      OPC_EmitStringInteger, MVT::i32, PPC::sub_32,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2, 2, 3, 
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 58, 
      OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                    MVT::i32, 4, 4, 5, 6, 7, 
      OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                    MVT::v4i32, 1, 1, 
      OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSWVLX), 0,
                    MVT::v4f32, 3, 0, 8, 9, 
     0, 
    0,
   41, 
    OPC_CheckChild2Type, MVT::i32,
    OPC_CheckType, MVT::v4f32,
    OPC_CheckPatternPredicate, 68,
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 58, 
    OPC_EmitNode1, TARGET_VAL(PPC::RLWINM), 0,
                  MVT::i32, 4, 2, 3, 4, 5, 
    OPC_EmitNode1, TARGET_VAL(PPC::XSCVDPSPN), 0,
                  MVT::v4i32, 1, 1, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSWVLX), 0,
                  MVT::v4f32, 3, 0, 6, 7, 
   0, 
  0, 
 41|128,3, TARGET_VAL(PPCISD::LD_SPLAT),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 0|128,1, 
   OPC_CheckPredicate, 44,
   OPC_SwitchType , 60, MVT::v8i16,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 65,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 14, 
     OPC_EmitNode1, TARGET_VAL(PPC::LVX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f128, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSPLTH), 0,
                   MVT::v8i16, 2, 4, 5, 
     OPC_CompleteMatch, 1, 6, 

    28, 
     OPC_CheckPatternPredicate, 18,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::LVX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f128, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSPLTH), 0,
                   MVT::v8i16, 2, 4, 5, 
     OPC_CompleteMatch, 1, 6, 

    0, 
   60, MVT::v16i8,
    OPC_Scope, 28, 
     OPC_CheckPatternPredicate, 65,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 30, 
     OPC_EmitNode1, TARGET_VAL(PPC::LVX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f128, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSPLTB), 0,
                   MVT::v16i8, 2, 4, 5, 
     OPC_CompleteMatch, 1, 6, 

    28, 
     OPC_CheckPatternPredicate, 18,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::LVX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f128, 2, 2, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::VSPLTB), 0,
                   MVT::v16i8, 2, 4, 5, 
     OPC_CompleteMatch, 1, 6, 

    0, 
   0,
  16, 
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 15,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::v2i64, 2, 2, 3, 
  63, 
   OPC_CheckType, MVT::v4i32,
   OPC_Scope, 14, 
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVWSX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v4i32, 2, 2, 3, 
   43, 
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i64, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LFIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 2, 2, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                  MVT::v4i32, 3, 4, 5, 6, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                  MVT::v4i32, 2, 7, 8, 
    OPC_CompleteMatch, 1, 9, 

   0, 
  63, 
   OPC_CheckType, MVT::v8i16,
   OPC_Scope, 25, 
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 6, 
    OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 2, 2, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSPLTHs), 0|OPFL_Chain,
                  MVT::v8i16, 2, 4, 5, 
   32, 
    OPC_CheckPatternPredicate, 57,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 6, 
    OPC_EmitNode1, TARGET_VAL(PPC::LHZX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                  MVT::f64, 1, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSPLTHs), 0|OPFL_Chain,
                  MVT::v8i16, 2, 4, 6, 
   0, 
  63, 
   OPC_CheckType, MVT::v16i8,
   OPC_Scope, 25, 
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 14, 
    OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 2, 2, 3, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSPLTBs), 0|OPFL_Chain,
                  MVT::v16i8, 2, 4, 5, 
   32, 
    OPC_CheckPatternPredicate, 57,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 14, 
    OPC_EmitNode1, TARGET_VAL(PPC::LBZX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 2, 2, 3, 
    OPC_EmitNode1, TARGET_VAL(PPC::MTVSRWZ), 0,
                  MVT::f64, 1, 5, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSPLTBs), 0|OPFL_Chain,
                  MVT::v16i8, 2, 4, 6, 
   0, 
  16, 
   OPC_CheckType, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::v2f64, 2, 2, 3, 
  63, 
   OPC_CheckType, MVT::v4f32,
   OPC_Scope, 14, 
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVWSX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v4f32, 2, 2, 3, 
   43, 
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i64, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::LFIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 2, 2, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                  MVT::v4i32, 3, 4, 5, 6, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                  MVT::v4f32, 2, 7, 8, 
    OPC_CompleteMatch, 1, 9, 

   0, 
  0, 
 123, TARGET_VAL(PPCISD::LOAD_VEC_BE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 14, MVT::v2i64,
   OPC_CheckPatternPredicate, 28,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::v2i64, 2, 2, 3, 
  14, MVT::v4i32,
   OPC_CheckPatternPredicate, 28,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVW4X), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::v4i32, 2, 2, 3, 
  25, MVT::v8i16,
   OPC_CheckPatternPredicate, 4,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::LXVH8X), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::v4i32, 2, 2, 3, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                 MVT::v8i16, 2, 4, 5, 
  25, MVT::v16i8,
   OPC_CheckPatternPredicate, 4,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::LXVB16X), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::v4i32, 2, 2, 3, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                 MVT::v16i8, 2, 4, 5, 
  14, MVT::v2f64,
   OPC_CheckPatternPredicate, 28,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::v2f64, 2, 2, 3, 
  14, MVT::v4f32,
   OPC_CheckPatternPredicate, 28,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVW4X), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::v4f32, 2, 2, 3, 
  0,
 30, TARGET_VAL(PPCISD::ZEXT_LD_SPLAT),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckType, MVT::v2i64,
  OPC_CheckPatternPredicate, 15,
  OPC_CheckComplexPat, /*CP*/0, /*#*/1,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitNode1, TARGET_VAL(PPC::LFIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                MVT::f64, 2, 2, 3, 
  OPC_EmitInteger, MVT::i32, 0, 
  OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                MVT::v2i64, 2, 4, 5, 
 30, TARGET_VAL(PPCISD::SEXT_LD_SPLAT),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckType, MVT::v2i64,
  OPC_CheckPatternPredicate, 15,
  OPC_CheckComplexPat, /*CP*/0, /*#*/1,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitNode1, TARGET_VAL(PPC::LFIWAX), 0|OPFL_Chain|OPFL_MemRefs,
                MVT::f64, 2, 2, 3, 
  OPC_EmitInteger, MVT::i32, 0, 
  OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDIs), 0|OPFL_Chain,
                MVT::v2i64, 2, 4, 5, 
 89, TARGET_VAL(PPCISD::VECSHL),
  OPC_RecordChild0,
  OPC_Scope, 54, 
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_Scope, 20, 
    OPC_CheckChild1Same, 0,
    OPC_CheckChild2Integer, 4, 
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitInteger, MVT::i32, 4, 
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                  MVT::v4i32, 3, 0, 0, 1, 
   28, 
    OPC_RecordChild1,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitConvertToTarget, 2,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSLDWI), 0,
                  MVT::v4i32, 3, 0, 1, 3, 
   0, 
  30, 
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 13,
   OPC_CheckType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitConvertToTarget, 2,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLDOI), 0,
                 MVT::v16i8, 3, 0, 1, 3, 
  0, 
 74, TARGET_VAL(PPCISD::VABSD),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 40, 
   OPC_CheckChild2Integer, 0, 
   OPC_SwitchType , 10, MVT::v4i32,
    OPC_CheckPatternPredicate, 70,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VABSDUW), 0,
                  MVT::v4i32, 2, 0, 1, 
   10, MVT::v8i16,
    OPC_CheckPatternPredicate, 70,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VABSDUH), 0,
                  MVT::v8i16, 2, 0, 1, 
   10, MVT::v16i8,
    OPC_CheckPatternPredicate, 70,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VABSDUB), 0,
                  MVT::v16i8, 2, 0, 1, 
   0,
  28, 
   OPC_CheckChild2Integer, 2, 
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 70,
   OPC_EmitNode1, TARGET_VAL(PPC::XVNEGSP), 0,
                 MVT::v4i32, 1, 0, 
   OPC_EmitNode1, TARGET_VAL(PPC::XVNEGSP), 0,
                 MVT::v4i32, 1, 1, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VABSDUW), 0,
                 MVT::v4i32, 2, 2, 3, 
  0, 
 31, TARGET_VAL(PPCISD::XXPERMDI),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v2i64,
  OPC_RecordChild1,
  OPC_CheckChild1Type, MVT::v2i64,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 13,
  OPC_CheckType, MVT::i32,
  OPC_MoveParent,
  OPC_CheckType, MVT::v2i64,
  OPC_CheckPatternPredicate, 15,
  OPC_EmitConvertToTarget, 2,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                MVT::v2i64, 3, 0, 1, 3, 
 27, TARGET_VAL(PPCISD::XXSPLT),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v4i32,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 13,
  OPC_CheckType, MVT::i32,
  OPC_MoveParent,
  OPC_CheckType, MVT::v4i32,
  OPC_CheckPatternPredicate, 15,
  OPC_EmitConvertToTarget, 1,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTW), 0,
                MVT::v4i32, 2, 0, 2, 
 96, TARGET_VAL(PPCISD::VECINSERT),
  OPC_RecordChild0,
  OPC_Scope, 30, 
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 13,
   OPC_CheckType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitConvertToTarget, 2,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXINSERTW), 0,
                 MVT::v4i32, 3, 0, 1, 3, 
  30, 
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 13,
   OPC_CheckType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 43,
   OPC_EmitConvertToTarget, 2,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSERTB), 0,
                 MVT::v16i8, 3, 0, 3, 1, 
  30, 
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 13,
   OPC_CheckType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate, 43,
   OPC_EmitConvertToTarget, 2,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VINSERTH), 0,
                 MVT::v8i16, 3, 0, 3, 1, 
  0, 
 110|128,6, TARGET_VAL(ISD::VECTOR_SHUFFLE),
  OPC_Scope, 40|128,2, 
   OPC_RecordChild0,
   OPC_Scope, 101, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 45, 
     OPC_CheckPredicate, 45,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXMRGLW), 0,
                   MVT::v4i32, 2, 2, 4, 
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v16i8, 2, 5, 6, 
    45, 
     OPC_CheckPredicate, 46,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 1, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 3, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXMRGHW), 0,
                   MVT::v4i32, 2, 2, 4, 
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v16i8, 2, 5, 6, 
    0, 
   61|128,1, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 45, 
     OPC_CheckPredicate, 47,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 1, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXMRGLW), 0,
                   MVT::v4i32, 2, 3, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v16i8, 2, 6, 7, 
    45, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 1, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXMRGHW), 0,
                   MVT::v4i32, 2, 3, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v16i8, 2, 6, 7, 
    45, 
     OPC_CheckPredicate, 49,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXMRGLW), 0,
                   MVT::v4i32, 2, 3, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v16i8, 2, 6, 7, 
    45, 
     OPC_CheckPredicate, 50,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i32, 2, 0, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXMRGHW), 0,
                   MVT::v4i32, 2, 3, 5, 
     OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v16i8, 2, 6, 7, 
    0, 
   0, 
  76, 
   OPC_RecordNode,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_Scope, 15, 
    OPC_CheckPredicate, 51,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitNodeXForm, 18, 0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSPLTB), 0,
                  MVT::v16i8, 2, 2, 1, 
   15, 
    OPC_CheckPredicate, 52,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitNodeXForm, 19, 0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSPLTH), 0,
                  MVT::v16i8, 2, 2, 1, 
   15, 
    OPC_CheckPredicate, 53,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitNodeXForm, 20, 0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSPLTW), 0,
                  MVT::v16i8, 2, 2, 1, 
   16, 
    OPC_CheckPredicate, 54,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitNodeXForm, 21, 0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLDOI), 0,
                  MVT::v16i8, 3, 1, 1, 2, 
   0, 
  11|128,2, 
   OPC_RecordChild0,
   OPC_Scope, 24|128,1, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 12, 
     OPC_CheckPredicate, 55,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKUWUM), 0,
                   MVT::v16i8, 2, 0, 0, 
    12, 
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKUHUM), 0,
                   MVT::v16i8, 2, 0, 0, 
    12, 
     OPC_CheckPredicate, 57,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGLB), 0,
                   MVT::v16i8, 2, 0, 0, 
    12, 
     OPC_CheckPredicate, 58,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGLH), 0,
                   MVT::v16i8, 2, 0, 0, 
    12, 
     OPC_CheckPredicate, 45,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGLW), 0,
                   MVT::v16i8, 2, 0, 0, 
    12, 
     OPC_CheckPredicate, 59,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGHB), 0,
                   MVT::v16i8, 2, 0, 0, 
    12, 
     OPC_CheckPredicate, 60,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGHH), 0,
                   MVT::v16i8, 2, 0, 0, 
    12, 
     OPC_CheckPredicate, 46,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGHW), 0,
                   MVT::v16i8, 2, 0, 0, 
    12, 
     OPC_CheckPredicate, 61,
     OPC_CheckPatternPredicate, 50,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                   MVT::v16i8, 2, 0, 0, 
    12, 
     OPC_CheckPredicate, 62,
     OPC_CheckPatternPredicate, 50,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGOW), 0,
                   MVT::v16i8, 2, 0, 0, 
    12, 
     OPC_CheckPredicate, 63,
     OPC_CheckPatternPredicate, 50,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKUDUM), 0,
                   MVT::v16i8, 2, 0, 0, 
    0, 
   109, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 12, 
     OPC_CheckPredicate, 64,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGHB), 0,
                   MVT::v16i8, 2, 0, 1, 
    12, 
     OPC_CheckPredicate, 65,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGHH), 0,
                   MVT::v16i8, 2, 0, 1, 
    12, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGHW), 0,
                   MVT::v16i8, 2, 0, 1, 
    12, 
     OPC_CheckPredicate, 66,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGLB), 0,
                   MVT::v16i8, 2, 0, 1, 
    12, 
     OPC_CheckPredicate, 67,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGLH), 0,
                   MVT::v16i8, 2, 0, 1, 
    12, 
     OPC_CheckPredicate, 47,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGLW), 0,
                   MVT::v16i8, 2, 0, 1, 
    12, 
     OPC_CheckPredicate, 68,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKUHUM), 0,
                   MVT::v16i8, 2, 0, 1, 
    12, 
     OPC_CheckPredicate, 69,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKUWUM), 0,
                   MVT::v16i8, 2, 0, 1, 
    0, 
   0, 
  41, 
   OPC_RecordNode,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v16i8,
   OPC_Scope, 16, 
    OPC_CheckPredicate, 70,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitNodeXForm, 22, 0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLDOI), 0,
                  MVT::v16i8, 3, 1, 2, 3, 
   16, 
    OPC_CheckPredicate, 71,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitNodeXForm, 23, 0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSLDOI), 0,
                  MVT::v16i8, 3, 2, 1, 3, 
   0, 
  60|128,1, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v16i8,
   OPC_Scope, 12, 
    OPC_CheckPredicate, 72,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKUWUM), 0,
                  MVT::v16i8, 2, 1, 0, 
   12, 
    OPC_CheckPredicate, 73,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKUHUM), 0,
                  MVT::v16i8, 2, 1, 0, 
   12, 
    OPC_CheckPredicate, 74,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGLB), 0,
                  MVT::v16i8, 2, 1, 0, 
   12, 
    OPC_CheckPredicate, 75,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGLH), 0,
                  MVT::v16i8, 2, 1, 0, 
   12, 
    OPC_CheckPredicate, 49,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGLW), 0,
                  MVT::v16i8, 2, 1, 0, 
   12, 
    OPC_CheckPredicate, 76,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGHB), 0,
                  MVT::v16i8, 2, 1, 0, 
   12, 
    OPC_CheckPredicate, 77,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGHH), 0,
                  MVT::v16i8, 2, 1, 0, 
   12, 
    OPC_CheckPredicate, 50,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGHW), 0,
                  MVT::v16i8, 2, 1, 0, 
   12, 
    OPC_CheckPredicate, 78,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                  MVT::v16i8, 2, 0, 1, 
   12, 
    OPC_CheckPredicate, 79,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGOW), 0,
                  MVT::v16i8, 2, 0, 1, 
   12, 
    OPC_CheckPredicate, 80,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGEW), 0,
                  MVT::v16i8, 2, 1, 0, 
   12, 
    OPC_CheckPredicate, 81,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VMRGOW), 0,
                  MVT::v16i8, 2, 1, 0, 
   12, 
    OPC_CheckPredicate, 82,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKUDUM), 0,
                  MVT::v16i8, 2, 0, 1, 
   12, 
    OPC_CheckPredicate, 83,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VPKUDUM), 0,
                  MVT::v16i8, 2, 1, 0, 
   0, 
  0, 
 84, TARGET_VAL(PPCISD::XXSWAPD),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 18, MVT::v2i64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                 MVT::v2i64, 3, 1, 1, 2, 
   OPC_CompleteMatch, 1, 3, 

  18, MVT::v4i32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                 MVT::v4i32, 3, 1, 1, 2, 
   OPC_CompleteMatch, 1, 3, 

  18, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                 MVT::v2f64, 3, 1, 1, 2, 
   OPC_CompleteMatch, 1, 3, 

  18, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 4, 
   OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                 MVT::v4f32, 3, 1, 1, 2, 
   OPC_CompleteMatch, 1, 3, 

  0,
 77|128,2, TARGET_VAL(ISD::VSELECT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 26, MVT::v4i32,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSEL), 0,
                  MVT::v4i32, 3, 2, 1, 0, 
   11, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSEL), 0,
                  MVT::v4i32, 3, 2, 1, 0, 
   0, 
  26, MVT::v2i64,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSEL), 0,
                  MVT::v2i64, 3, 2, 1, 0, 
   11, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSEL), 0,
                  MVT::v2i64, 3, 2, 1, 0, 
   0, 
  70, MVT::v16i8,
   OPC_Scope, 55, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXSEL), 0,
                  MVT::v4i32, 3, 4, 6, 8, 
    OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v16i8, 2, 9, 10, 
   11, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSEL), 0,
                  MVT::v16i8, 3, 2, 1, 0, 
   0, 
  70, MVT::v8i16,
   OPC_Scope, 55, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXSEL), 0,
                  MVT::v4i32, 3, 4, 6, 8, 
    OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v8i16, 2, 9, 10, 
   11, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSEL), 0,
                  MVT::v8i16, 3, 2, 1, 0, 
   0, 
  70, MVT::v1i128,
   OPC_Scope, 55, 
    OPC_CheckPatternPredicate, 15,
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 2, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 1, 5, 
    OPC_EmitStringInteger, MVT::i32, PPC::VSRCRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i32, 2, 0, 7, 
    OPC_EmitNode1, TARGET_VAL(PPC::XXSEL), 0,
                  MVT::v4i32, 3, 4, 6, 8, 
    OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v1i128, 2, 9, 10, 
   11, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSEL), 0,
                  MVT::v1i128, 3, 2, 1, 0, 
   0, 
  26, MVT::v4f32,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSEL), 0,
                  MVT::v4f32, 3, 2, 1, 0, 
   11, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSEL), 0,
                  MVT::v4f32, 3, 2, 1, 0, 
   0, 
  26, MVT::v2f64,
   OPC_Scope, 11, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSEL), 0,
                  MVT::v2f64, 3, 2, 1, 0, 
   11, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VSEL), 0,
                  MVT::v2f64, 3, 2, 1, 0, 
   0, 
  0,
 74, TARGET_VAL(ISD::SMAX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 32, MVT::v2i64,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f128, 2, 0, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f128, 2, 1, 4, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXSD), 0,
                 MVT::v2i64, 2, 3, 5, 
  10, MVT::v16i8,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXSB), 0,
                 MVT::v16i8, 2, 0, 1, 
  10, MVT::v8i16,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXSH), 0,
                 MVT::v8i16, 2, 0, 1, 
  10, MVT::v4i32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXSW), 0,
                 MVT::v4i32, 2, 0, 1, 
  0,
 74, TARGET_VAL(ISD::UMAX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 32, MVT::v2i64,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f128, 2, 0, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f128, 2, 1, 4, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXUD), 0,
                 MVT::v2i64, 2, 3, 5, 
  10, MVT::v16i8,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXUB), 0,
                 MVT::v16i8, 2, 0, 1, 
  10, MVT::v8i16,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXUH), 0,
                 MVT::v8i16, 2, 0, 1, 
  10, MVT::v4i32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMAXUW), 0,
                 MVT::v4i32, 2, 0, 1, 
  0,
 74, TARGET_VAL(ISD::SMIN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 32, MVT::v2i64,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f128, 2, 0, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f128, 2, 1, 4, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINSD), 0,
                 MVT::v2i64, 2, 3, 5, 
  10, MVT::v16i8,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINSB), 0,
                 MVT::v16i8, 2, 0, 1, 
  10, MVT::v8i16,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINSH), 0,
                 MVT::v8i16, 2, 0, 1, 
  10, MVT::v4i32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINSW), 0,
                 MVT::v4i32, 2, 0, 1, 
  0,
 74, TARGET_VAL(ISD::UMIN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 32, MVT::v2i64,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f128, 2, 0, 2, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f128, 2, 1, 4, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINUD), 0,
                 MVT::v2i64, 2, 3, 5, 
  10, MVT::v16i8,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINUB), 0,
                 MVT::v16i8, 2, 0, 1, 
  10, MVT::v8i16,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINUH), 0,
                 MVT::v8i16, 2, 0, 1, 
  10, MVT::v4i32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VMINUW), 0,
                 MVT::v4i32, 2, 0, 1, 
  0,
 117, TARGET_VAL(PPCISD::LXVRZX),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 27, 
   OPC_CheckChild2Integer, 16, 
   OPC_CheckPatternPredicate, 22,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::LXVRBX), 0|OPFL_Chain,
                 MVT::v4i32, 2, 2, 3, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                 MVT::v1i128, 2, 4, 5, 
  27, 
   OPC_CheckChild2Integer, 32, 
   OPC_CheckPatternPredicate, 22,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::LXVRHX), 0|OPFL_Chain,
                 MVT::v4i32, 2, 2, 3, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                 MVT::v1i128, 2, 4, 5, 
  27, 
   OPC_CheckChild2Integer, 64, 
   OPC_CheckPatternPredicate, 22,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::LXVRWX), 0|OPFL_Chain,
                 MVT::v4i32, 2, 2, 3, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                 MVT::v1i128, 2, 4, 5, 
  28, 
   OPC_CheckChild2Integer, 0|128,1, 
   OPC_CheckPatternPredicate, 22,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::LXVRDX), 0|OPFL_Chain,
                 MVT::v4i32, 2, 2, 3, 
   OPC_EmitStringInteger, MVT::i32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                 MVT::v1i128, 2, 4, 5, 
  0, 
 120|128,2, TARGET_VAL(PPCISD::VCMP),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 70, MVT::v16i8,
   OPC_Scope, 12, 
    OPC_CheckChild2Integer, 12, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPEQUB), 0,
                  MVT::v16i8, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 12|128,12, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPGTSB), 0,
                  MVT::v16i8, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 12|128,8, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPGTUB), 0,
                  MVT::v16i8, 2, 0, 1, 
   12, 
    OPC_CheckChild2Integer, 14, 
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPNEB), 0,
                  MVT::v16i8, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 14|128,4, 
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPNEZB), 0,
                  MVT::v16i8, 2, 0, 1, 
   0, 
  72, MVT::v8i16,
   OPC_Scope, 13, 
    OPC_CheckChild2Integer, 12|128,1, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPEQUH), 0,
                  MVT::v8i16, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 12|128,13, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPGTSH), 0,
                  MVT::v8i16, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 12|128,9, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPGTUH), 0,
                  MVT::v8i16, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 14|128,1, 
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPNEH), 0,
                  MVT::v8i16, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 14|128,5, 
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPNEZH), 0,
                  MVT::v8i16, 2, 0, 1, 
   0, 
  72, MVT::v4i32,
   OPC_Scope, 13, 
    OPC_CheckChild2Integer, 12|128,2, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPEQUW), 0,
                  MVT::v4i32, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 12|128,14, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPGTSW), 0,
                  MVT::v4i32, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 12|128,10, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPGTUW), 0,
                  MVT::v4i32, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 14|128,2, 
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPNEW), 0,
                  MVT::v4i32, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 14|128,6, 
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPNEZW), 0,
                  MVT::v4i32, 2, 0, 1, 
   0, 
  44, MVT::v2i64,
   OPC_Scope, 13, 
    OPC_CheckChild2Integer, 14|128,3, 
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPEQUD), 0,
                  MVT::v2i64, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 14|128,15, 
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPGTSD), 0,
                  MVT::v2i64, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 14|128,11, 
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPGTUD), 0,
                  MVT::v2i64, 2, 0, 1, 
   0, 
  44, MVT::v1i128,
   OPC_Scope, 13, 
    OPC_CheckChild2Integer, 14|128,7, 
    OPC_CheckPatternPredicate, 22,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPEQUQ), 0,
                  MVT::v1i128, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 14|128,14, 
    OPC_CheckPatternPredicate, 22,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPGTSQ), 0,
                  MVT::v1i128, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 14|128,10, 
    OPC_CheckPatternPredicate, 22,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPGTUQ), 0,
                  MVT::v1i128, 2, 0, 1, 
   0, 
  58, MVT::v4f32,
   OPC_Scope, 13, 
    OPC_CheckChild2Integer, 12|128,15, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPBFP), 0,
                  MVT::v4f32, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 12|128,3, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPEQFP), 0,
                  MVT::v4f32, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 12|128,7, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPGEFP), 0,
                  MVT::v4f32, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 12|128,11, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::VCMPGTFP), 0,
                  MVT::v4f32, 2, 0, 1, 
   0, 
  0,
 99|128,7, TARGET_VAL(PPCISD::VCMP_rec),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 75, MVT::v16i8,
   OPC_Scope, 13, 
    OPC_CheckChild2Integer, 12, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPEQUB_rec), 0|OPFL_GlueOutput,
                  MVT::v16i8, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 12|128,12, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPGTSB_rec), 0|OPFL_GlueOutput,
                  MVT::v16i8, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 12|128,8, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPGTUB_rec), 0|OPFL_GlueOutput,
                  MVT::v16i8, MVT::i32, 2, 0, 1, 
   13, 
    OPC_CheckChild2Integer, 14, 
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPNEB_rec), 0|OPFL_GlueOutput,
                  MVT::v16i8, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 14|128,4, 
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPNEZB_rec), 0|OPFL_GlueOutput,
                  MVT::v16i8, MVT::i32, 2, 0, 1, 
   0, 
  77, MVT::v8i16,
   OPC_Scope, 14, 
    OPC_CheckChild2Integer, 12|128,1, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPEQUH_rec), 0|OPFL_GlueOutput,
                  MVT::v8i16, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 12|128,13, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPGTSH_rec), 0|OPFL_GlueOutput,
                  MVT::v8i16, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 12|128,9, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPGTUH_rec), 0|OPFL_GlueOutput,
                  MVT::v8i16, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 14|128,1, 
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPNEH_rec), 0|OPFL_GlueOutput,
                  MVT::v8i16, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 14|128,5, 
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPNEZH_rec), 0|OPFL_GlueOutput,
                  MVT::v8i16, MVT::i32, 2, 0, 1, 
   0, 
  77, MVT::v4i32,
   OPC_Scope, 14, 
    OPC_CheckChild2Integer, 12|128,2, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPEQUW_rec), 0|OPFL_GlueOutput,
                  MVT::v4i32, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 12|128,14, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPGTSW_rec), 0|OPFL_GlueOutput,
                  MVT::v4i32, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 12|128,10, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPGTUW_rec), 0|OPFL_GlueOutput,
                  MVT::v4i32, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 14|128,2, 
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPNEW_rec), 0|OPFL_GlueOutput,
                  MVT::v4i32, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 14|128,6, 
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPNEZW_rec), 0|OPFL_GlueOutput,
                  MVT::v4i32, MVT::i32, 2, 0, 1, 
   0, 
  34|128,4, MVT::v2i64,
   OPC_Scope, 30|128,1, 
    OPC_CheckChild2Integer, 14|128,3, 
    OPC_Scope, 11, 
     OPC_CheckPatternPredicate, 50,
     OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPEQUD_rec), 0|OPFL_GlueOutput,
                   MVT::v2i64, MVT::i32, 2, 0, 1, 
    11|128,1, 
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPEQUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPEQUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v2i64, 3, 2, 3, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPEQUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXLAND), 0,
                   MVT::v2i64, 2, 5, 6, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                   MVT::v2i64, 2, 7, 8, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPEQUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPEQUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v2i64, 3, 10, 11, 12, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPEQUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXLAND), 0,
                   MVT::v2i64, 2, 13, 14, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                   MVT::v2i64, 2, 15, 16, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v2i64, 3, 9, 17, 18, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXLXORz), 0,
                   MVT::v2i64, 0, 
     OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPGTUB_rec), 0|OPFL_GlueOutput,
                   MVT::v2i64, MVT::i32, 2, 19, 20, 
    0, 
   62|128,1, 
    OPC_CheckChild2Integer, 14|128,15, 
    OPC_Scope, 11, 
     OPC_CheckPatternPredicate, 50,
     OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPGTSD_rec), 0|OPFL_GlueOutput,
                   MVT::v2i64, MVT::i32, 2, 0, 1, 
    43|128,1, 
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPGTSW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPGTUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPGTUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v2i64, 3, 3, 4, 5, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPEQUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXLAND), 0,
                   MVT::v2i64, 2, 6, 7, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXLOR), 0,
                   MVT::v2i64, 2, 2, 8, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                   MVT::v2i64, 2, 9, 10, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPGTSW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPGTUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPGTUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v2i64, 3, 13, 14, 15, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPEQUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXLAND), 0,
                   MVT::v2i64, 2, 16, 17, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXLOR), 0,
                   MVT::v2i64, 2, 12, 18, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                   MVT::v2i64, 2, 19, 20, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v2i64, 3, 11, 21, 22, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXLXORz), 0,
                   MVT::v2i64, 0, 
     OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPGTUB_rec), 0|OPFL_GlueOutput,
                   MVT::v2i64, MVT::i32, 2, 23, 24, 
    0, 
   62|128,1, 
    OPC_CheckChild2Integer, 14|128,11, 
    OPC_Scope, 11, 
     OPC_CheckPatternPredicate, 50,
     OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPGTUD_rec), 0|OPFL_GlueOutput,
                   MVT::v2i64, MVT::i32, 2, 0, 1, 
    43|128,1, 
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPGTUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPGTUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPGTUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v2i64, 3, 3, 4, 5, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPEQUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXLAND), 0,
                   MVT::v2i64, 2, 6, 7, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXLOR), 0,
                   MVT::v2i64, 2, 2, 8, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                   MVT::v2i64, 2, 9, 10, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPGTUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPGTUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPGTUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSLDWI), 0,
                   MVT::v2i64, 3, 13, 14, 15, 
     OPC_EmitNode1, TARGET_VAL(PPC::VCMPEQUW), 0,
                   MVT::v2i64, 2, 0, 1, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXLAND), 0,
                   MVT::v2i64, 2, 16, 17, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXLOR), 0,
                   MVT::v2i64, 2, 12, 18, 
     OPC_EmitInteger, MVT::i32, 4, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXSPLTW), 0,
                   MVT::v2i64, 2, 19, 20, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXPERMDI), 0,
                   MVT::v2i64, 3, 11, 21, 22, 
     OPC_EmitNode1, TARGET_VAL(PPC::XXLXORz), 0,
                   MVT::v2i64, 0, 
     OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPGTUB_rec), 0|OPFL_GlueOutput,
                   MVT::v2i64, MVT::i32, 2, 23, 24, 
    0, 
   0, 
  47, MVT::v1i128,
   OPC_Scope, 14, 
    OPC_CheckChild2Integer, 14|128,7, 
    OPC_CheckPatternPredicate, 22,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPEQUQ_rec), 0|OPFL_GlueOutput,
                  MVT::v1i128, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 14|128,14, 
    OPC_CheckPatternPredicate, 22,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPGTSQ_rec), 0|OPFL_GlueOutput,
                  MVT::v1i128, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 14|128,10, 
    OPC_CheckPatternPredicate, 22,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPGTUQ_rec), 0|OPFL_GlueOutput,
                  MVT::v1i128, MVT::i32, 2, 0, 1, 
   0, 
  47, MVT::v2f64,
   OPC_Scope, 14, 
    OPC_CheckChild2Integer, 70|128,1, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::XVCMPEQDP_rec), 0|OPFL_GlueOutput,
                  MVT::v2f64, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 102|128,1, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::XVCMPGEDP_rec), 0|OPFL_GlueOutput,
                  MVT::v2f64, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 86|128,1, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::XVCMPGTDP_rec), 0|OPFL_GlueOutput,
                  MVT::v2f64, MVT::i32, 2, 0, 1, 
   0, 
  107, MVT::v4f32,
   OPC_Scope, 14, 
    OPC_CheckChild2Integer, 6|128,1, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::XVCMPEQSP_rec), 0|OPFL_GlueOutput,
                  MVT::v4f32, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 38|128,1, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::XVCMPGESP_rec), 0|OPFL_GlueOutput,
                  MVT::v4f32, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 22|128,1, 
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::XVCMPGTSP_rec), 0|OPFL_GlueOutput,
                  MVT::v4f32, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 12|128,15, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPBFP_rec), 0|OPFL_GlueOutput,
                  MVT::v4f32, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 12|128,3, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPEQFP_rec), 0|OPFL_GlueOutput,
                  MVT::v4f32, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 12|128,7, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPGEFP_rec), 0|OPFL_GlueOutput,
                  MVT::v4f32, MVT::i32, 2, 0, 1, 
   14, 
    OPC_CheckChild2Integer, 12|128,11, 
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo2, TARGET_VAL(PPC::VCMPGTFP_rec), 0|OPFL_GlueOutput,
                  MVT::v4f32, MVT::i32, 2, 0, 1, 
   0, 
  0,
 17|128,1, TARGET_VAL(PPCISD::EXTRACT_VSX_REG),
  OPC_RecordChild0,
  OPC_Scope, 43, 
   OPC_CheckChild1Integer, 0, 
   OPC_Scope, 13, 
    OPC_CheckPatternPredicate, 20,
    OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::v4i32, 2, 0, 1, 
   24, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::sub_pair0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::v256i1, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::v4i32, 2, 2, 3, 
   0, 
  43, 
   OPC_CheckChild1Integer, 2, 
   OPC_Scope, 13, 
    OPC_CheckPatternPredicate, 20,
    OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx1,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::v4i32, 2, 0, 1, 
   24, 
    OPC_CheckPatternPredicate, 54,
    OPC_EmitStringInteger, MVT::i32, PPC::sub_pair0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::v256i1, 2, 0, 1, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx1,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::v4i32, 2, 2, 3, 
   0, 
  26, 
   OPC_CheckChild1Integer, 4, 
   OPC_CheckPatternPredicate, 54,
   OPC_EmitStringInteger, MVT::i32, PPC::sub_pair1,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                 MVT::v256i1, 2, 0, 1, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx0,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                 MVT::v4i32, 2, 2, 3, 
  26, 
   OPC_CheckChild1Integer, 6, 
   OPC_CheckPatternPredicate, 54,
   OPC_EmitStringInteger, MVT::i32, PPC::sub_pair1,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                 MVT::v256i1, 2, 0, 1, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx1,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                 MVT::v4i32, 2, 2, 3, 
  0, 
 40, TARGET_VAL(ISD::SADDSAT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 10, MVT::v16i8,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDSBS), 0,
                 MVT::v16i8, 2, 0, 1, 
  10, MVT::v8i16,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDSHS), 0,
                 MVT::v8i16, 2, 0, 1, 
  10, MVT::v4i32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDSWS), 0,
                 MVT::v4i32, 2, 0, 1, 
  0,
 40, TARGET_VAL(ISD::UADDSAT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 10, MVT::v16i8,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDUBS), 0,
                 MVT::v16i8, 2, 0, 1, 
  10, MVT::v8i16,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDUHS), 0,
                 MVT::v8i16, 2, 0, 1, 
  10, MVT::v4i32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VADDUWS), 0,
                 MVT::v4i32, 2, 0, 1, 
  0,
 40, TARGET_VAL(ISD::SSUBSAT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 10, MVT::v16i8,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBSBS), 0,
                 MVT::v16i8, 2, 0, 1, 
  10, MVT::v8i16,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBSHS), 0,
                 MVT::v8i16, 2, 0, 1, 
  10, MVT::v4i32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBSWS), 0,
                 MVT::v4i32, 2, 0, 1, 
  0,
 40, TARGET_VAL(ISD::USUBSAT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 10, MVT::v16i8,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBUBS), 0,
                 MVT::v16i8, 2, 0, 1, 
  10, MVT::v8i16,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBUHS), 0,
                 MVT::v8i16, 2, 0, 1, 
  10, MVT::v4i32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VSUBUWS), 0,
                 MVT::v4i32, 2, 0, 1, 
  0,
 31, TARGET_VAL(PPCISD::VPERM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 11, MVT::v16i8,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPERM), 0,
                 MVT::v16i8, 3, 0, 1, 2, 
  11, MVT::v2f64,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::VPERM), 0,
                 MVT::v2f64, 3, 0, 1, 2, 
  0,
 35, TARGET_VAL(PPCISD::XXSPLTI32DX),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v2i64,
  OPC_RecordChild1,
  OPC_CheckChild1Type, MVT::i32,
  OPC_RecordChild2,
  OPC_CheckChild2Type, MVT::i32,
  OPC_Scope, 11, 
   OPC_CheckPatternPredicate, 10,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTI32DX), 0,
                 MVT::v2i64, 3, 0, 1, 2, 
  11, 
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTI32DX), 0,
                 MVT::v2i64, 3, 0, 1, 2, 
  0, 
 10, TARGET_VAL(PPCISD::XXMFACC),
  OPC_RecordChild0,
  OPC_CheckPatternPredicate, 54,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::XXMFACC), 0,
                MVT::v512i1, 1, 0, 
 34, TARGET_VAL(PPCISD::PAIR_BUILD),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate, 20,
  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                MVT::v256i1, 0, 
  OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx1,
  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                MVT::v256i1, 3, 2, 1, 3, 
  OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx0,
  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                MVT::v256i1, 3, 4, 0, 5, 
 70|128,1, TARGET_VAL(PPCISD::ACC_BUILD),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 70, 
   OPC_CheckPatternPredicate, 55,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v256i1, 0, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx1,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::v256i1, 3, 4, 1, 5, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx0,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::v256i1, 3, 6, 0, 7, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v256i1, 0, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx1,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::v256i1, 3, 9, 3, 10, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx0,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::v256i1, 3, 11, 2, 12, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::DMXXINSTFDMR512), 0,
                 MVT::v512i1, 2, 8, 13, 
  120, 
   OPC_CheckPatternPredicate, 54,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v512i1, 0, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v256i1, 0, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx1,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::v256i1, 3, 5, 1, 6, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx0,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::v256i1, 3, 7, 0, 8, 
   OPC_EmitNode1, TARGET_VAL(PPC::KILL_PAIR), 0,
                 MVT::v256i1, 1, 9, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_pair0,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::v512i1, 3, 4, 10, 11, 
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v256i1, 0, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx1,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::v256i1, 3, 13, 3, 14, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_vsx0,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::v256i1, 3, 15, 2, 16, 
   OPC_EmitNode1, TARGET_VAL(PPC::KILL_PAIR), 0,
                 MVT::v256i1, 1, 17, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_pair1,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                 MVT::v512i1, 3, 12, 18, 19, 
   OPC_EmitNode1, TARGET_VAL(PPC::BUILD_UACC), 0,
                 MVT::v512i1, 1, 20, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XXMTACC), 0,
                 MVT::v512i1, 1, 21, 
  0, 
 17, TARGET_VAL(PPCISD::LXVD2X),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate, 29,
  OPC_CheckComplexPat, /*CP*/0, /*#*/1,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
                MVT::v2f64, 2, 2, 3, 
 8|128,1, TARGET_VAL(PPCISD::LD_VSX_LH),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 61, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 8,
   OPC_Scope, 27, 
    OPC_CheckComplexPat, /*CP*/1, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i64, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 2, 2, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                  MVT::v4f32, 3, 4, 5, 6, 
   27, 
    OPC_CheckComplexPat, /*CP*/2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i64, 2, 
    OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 2, 2, 3, 
    OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                  MVT::v4f32, 3, 4, 5, 6, 
   0, 
  38, 
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 11,
   OPC_CheckComplexPat, /*CP*/5, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i64, 2, 
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitNode1, TARGET_VAL(PPC::PLFDpc), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::f64, 2, 2, 5, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                 MVT::v4f32, 3, 4, 6, 7, 
  30, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 10,
   OPC_CheckComplexPat, /*CP*/4, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i64, 2, 
   OPC_EmitNode1, TARGET_VAL(PPC::PLFD), 0|OPFL_Chain|OPFL_MemRefs,
                 MVT::f64, 2, 2, 3, 
   OPC_EmitStringInteger, MVT::i32, PPC::sub_64,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                 MVT::v4f32, 3, 4, 5, 6, 
  0, 
 47, TARGET_VAL(PPCISD::SINT_VEC_TO_FP),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v4i32,
  OPC_CheckType, MVT::v2f64,
  OPC_Scope, 19, 
   OPC_CheckChild1Integer, 0, 
   OPC_CheckPatternPredicate, 15,
   OPC_EmitNode1, TARGET_VAL(PPC::XXMRGHW), 0,
                 MVT::v2i64, 2, 0, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                 MVT::v2f64, 1, 1, 
  19, 
   OPC_CheckChild1Integer, 2, 
   OPC_CheckPatternPredicate, 15,
   OPC_EmitNode1, TARGET_VAL(PPC::XXMRGLW), 0,
                 MVT::v2i64, 2, 0, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSXWDP), 0,
                 MVT::v2f64, 1, 1, 
  0, 
 47, TARGET_VAL(PPCISD::UINT_VEC_TO_FP),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v4i32,
  OPC_CheckType, MVT::v2f64,
  OPC_Scope, 19, 
   OPC_CheckChild1Integer, 0, 
   OPC_CheckPatternPredicate, 15,
   OPC_EmitNode1, TARGET_VAL(PPC::XXMRGHW), 0,
                 MVT::v2i64, 2, 0, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVUXWDP), 0,
                 MVT::v2f64, 1, 1, 
  19, 
   OPC_CheckChild1Integer, 2, 
   OPC_CheckPatternPredicate, 15,
   OPC_EmitNode1, TARGET_VAL(PPC::XXMRGLW), 0,
                 MVT::v2i64, 2, 0, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVUXWDP), 0,
                 MVT::v2f64, 1, 1, 
  0, 
 43, TARGET_VAL(PPCISD::FP_EXTEND_HALF),
  OPC_RecordChild0,
  OPC_Scope, 19, 
   OPC_CheckChild1Integer, 0, 
   OPC_CheckPatternPredicate, 15,
   OPC_EmitNode1, TARGET_VAL(PPC::XXMRGHW), 0,
                 MVT::v4i32, 2, 0, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPDP), 0,
                 MVT::v2f64, 1, 1, 
  19, 
   OPC_CheckChild1Integer, 2, 
   OPC_CheckPatternPredicate, 15,
   OPC_EmitNode1, TARGET_VAL(PPC::XXMRGLW), 0,
                 MVT::v4i32, 2, 0, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVCVSPDP), 0,
                 MVT::v2f64, 1, 1, 
  0, 
 17, TARGET_VAL(PPCISD::SWAP_NO_CHAIN),
  OPC_RecordChild0,
  OPC_CheckType, MVT::v2f64,
  OPC_CheckPatternPredicate, 15,
  OPC_EmitInteger, MVT::i32, 4, 
  OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0,
                MVT::v2f64, 3, 0, 0, 1, 
 37, TARGET_VAL(ISD::STRICT_FMAXNUM),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 14, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::XVMAXSP), 0,
                 MVT::v4f32, 2, 1, 2, 
   OPC_CompleteMatch, 1, 3, 

  14, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::XVMAXDP), 0,
                 MVT::v2f64, 2, 1, 2, 
   OPC_CompleteMatch, 1, 3, 

  0,
 28, TARGET_VAL(ISD::FMAXNUM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 10, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMAXSP), 0,
                 MVT::v4f32, 2, 0, 1, 
  10, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMAXDP), 0,
                 MVT::v2f64, 2, 0, 1, 
  0,
 37, TARGET_VAL(ISD::STRICT_FMINNUM),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 14, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::XVMINSP), 0,
                 MVT::v4f32, 2, 1, 2, 
   OPC_CompleteMatch, 1, 3, 

  14, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::XVMINDP), 0,
                 MVT::v2f64, 2, 1, 2, 
   OPC_CompleteMatch, 1, 3, 

  0,
 28, TARGET_VAL(ISD::FMINNUM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 10, MVT::v4f32,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMINSP), 0,
                 MVT::v4f32, 2, 0, 1, 
  10, MVT::v2f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::XVMINDP), 0,
                 MVT::v2f64, 2, 0, 1, 
  0,
 14, TARGET_VAL(PPCISD::XXPERM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate, 8,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERM), 0,
                MVT::v2f64, 3, 0, 1, 2, 
 12, TARGET_VAL(PPCISD::XXSPLTI_SP_TO_DP),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::i32,
  OPC_CheckPatternPredicate, 10,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::XXSPLTIDP), 0,
                MVT::v2f64, 1, 0, 
 0,
    0
  }; // Total Array size is 190224 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->isISA3_1()) && (Subtarget->isLittleEndian());
  case 1: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64());
  case 2: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
  case 3: return (Subtarget->hasP9Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
  case 4: return (Subtarget->hasP9Vector()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
  case 5: return (Subtarget->hasP9Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64());
  case 6: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64()) && (!Subtarget->hasP9Vector());
  case 7: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian()) && (!Subtarget->hasP9Vector());
  case 8: return (Subtarget->hasP9Vector()) && (Subtarget->hasVSX());
  case 9: return (!Subtarget->hasP9Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
  case 10: return (Subtarget->hasPrefixInstrs());
  case 11: return (Subtarget->hasPCRelativeMemops());
  case 12: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX());
  case 13: return (Subtarget->hasFPU());
  case 14: return (Subtarget->hasSPE());
  case 15: return (Subtarget->hasVSX());
  case 16: return (Subtarget->hasAltivec());
  case 17: return (Subtarget->hasVSX()) && (!Subtarget->hasP9Vector());
  case 18: return (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (!Subtarget->hasP9Vector());
  case 19: return (Subtarget->isPPC64());
  case 20: return (Subtarget->pairedVectorMemops());
  case 21: return (Subtarget->pairedVectorMemops()) && (Subtarget->hasPrefixInstrs());
  case 22: return (Subtarget->isISA3_1());
  case 23: return (!Subtarget->hasOnlyMSYNC());
  case 24: return (Subtarget->hasOnlyMSYNC());
  case 25: return (Subtarget->isAIXABI());
  case 26: return (!Subtarget->isAIXABI());
  case 27: return (Subtarget->hasHTM());
  case 28: return (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
  case 29: return (!Subtarget->hasP9Vector()) && (Subtarget->hasVSX());
  case 30: return (Subtarget->hasP9Altivec()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64());
  case 31: return (Subtarget->hasP9Altivec()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
  case 32: return (!Subtarget->isISA3_1());
  case 33: return (Subtarget->hasFPU()) && (Subtarget->isISA3_1());
  case 34: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isISA3_0()) && (Subtarget->isPPC64());
  case 35: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
  case 36: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
  case 37: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (!Subtarget->hasP9Altivec());
  case 38: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian()) && (!Subtarget->hasP9Altivec());
  case 39: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (Subtarget->isISA3_0()) && (Subtarget->isLittleEndian());
  case 40: return (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
  case 41: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
  case 42: return (Subtarget->hasExtDiv());
  case 43: return (Subtarget->hasP9Altivec());
  case 44: return (Subtarget->hasBPERMD());
  case 45: return (Subtarget->isPPC64()) && (Subtarget->isISA3_0());
  case 46: return (Subtarget->isISA3_0());
  case 47: return (!Subtarget->isISAFuture()) && (Subtarget->hasMMA()) && (Subtarget->hasPrefixInstrs());
  case 48: return (Subtarget->isISAFuture()) && (Subtarget->hasMMA()) && (Subtarget->hasPrefixInstrs());
  case 49: return (Subtarget->hasP8Crypto());
  case 50: return (Subtarget->hasP8Altivec());
  case 51: return (Subtarget->hasP8Altivec()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
  case 52: return (Subtarget->hasP8Altivec()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
  case 53: return (Subtarget->hasP8Altivec()) && (Subtarget->hasVSX());
  case 54: return (!Subtarget->isISAFuture()) && (Subtarget->hasMMA());
  case 55: return (Subtarget->isISAFuture()) && (Subtarget->hasMMA());
  case 56: return (Subtarget->hasVSX()) && (Subtarget->isISA3_1());
  case 57: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX());
  case 58: return (Subtarget->hasICBT());
  case 59: return (Subtarget->isISA2_07());
  case 60: return (!Subtarget->isPPC64());
  case 61: return (Subtarget->isISA2_06());
  case 62: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64()) && (!Subtarget->hasP9Vector());
  case 63: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian()) && (!Subtarget->hasP9Vector());
  case 64: return (Subtarget->hasP9Vector()) && (Subtarget->hasVSX()) && (!Subtarget->hasP10Vector());
  case 65: return (Subtarget->hasVSX()) && (Subtarget->isLittleEndian()) && (!Subtarget->hasP9Vector());
  case 66: return (Subtarget->hasVSX()) && (Subtarget->isISA3_1()) && (Subtarget->isLittleEndian());
  case 67: return (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isISA3_1());
  case 68: return (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isISA3_1()) && (!Subtarget->isPPC64());
  case 69: return (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isISA3_1()) && (Subtarget->isPPC64());
  case 70: return (Subtarget->hasP9Altivec()) && (Subtarget->hasVSX());
  }
}
#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
    // Predicate_istore
    SDNode *N = Node;
    (void)N;
 if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
return true;

  }
  case 2: {
    // Predicate_truncstore
    // Predicate_itruncstore
    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_truncstoref16
    // Predicate_extloadf16
    SDNode *N = Node;
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::f16) return false;
return true;

  }
  case 6: {
    // Predicate_pre_store
    // Predicate_pre_truncst
    SDNode *N = Node;
    (void)N;

  ISD::MemIndexedMode AM = cast<StoreSDNode>(N)->getAddressingMode();
  return AM == ISD::PRE_INC || AM == ISD::PRE_DEC;

  }
  case 7: {
    // Predicate_pre_truncsti8
    // Predicate_zextloadi8
    // 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_load_min_8
    // Predicate_atomic_load_max_8
    // Predicate_atomic_load_umin_8
    // Predicate_atomic_load_umax_8
    // Predicate_atomic_cmp_swap_8
    // Predicate_atomic_swap_8
    SDNode *N = Node;
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
return true;

  }
  case 8: {
    // Predicate_pre_truncsti16
    // Predicate_sextloadi16
    // Predicate_zextloadi16
    // 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_load_min_16
    // Predicate_atomic_load_max_16
    // Predicate_atomic_load_umin_16
    // Predicate_atomic_load_umax_16
    // Predicate_atomic_cmp_swap_16
    // Predicate_atomic_swap_16
    SDNode *N = Node;
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
return true;

  }
  case 9: {
    // 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 10: {
    // Predicate_pre_truncsti32
    // Predicate_zextloadi32
    // Predicate_sextloadi32
    // 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_load_min_32
    // Predicate_atomic_load_max_32
    // Predicate_atomic_load_umin_32
    // Predicate_atomic_load_umax_32
    // Predicate_atomic_cmp_swap_32
    // Predicate_atomic_swap_32
    SDNode *N = Node;
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
return true;

  }
  case 11: {
    // Predicate_DSFormPreStore
    SDNode *N = Node;
    (void)N;

  return isOffsetMultipleOf(N, 4) || cast<StoreSDNode>(N)->getAlign() >= 4;

  }
  case 12: {
    // Predicate_immZExt16
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

  // immZExt16 predicate - True if the immediate fits in a 16-bit zero extended
  // field.  Used by instructions like 'ori'.
  return (uint64_t)N->getZExtValue() == (unsigned short)N->getZExtValue();

  }
  case 13: {
    // Predicate_imm32SExt16
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

  // imm32SExt16 predicate - True if the i32 immediate fits in a 16-bit
  // sign extended field.  Used by instructions like 'addi'.
  return (int32_t)Imm == (short)Imm;

  }
  case 14: {
    // Predicate_imm64SExt16
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

  // imm64SExt16 predicate - True if the i64 immediate fits in a 16-bit
  // sign extended field.  Used by instructions like 'addi'.
  return (int64_t)Imm == (short)Imm;

  }
  case 15: {
    // Predicate_imm64ZExt32
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

  // imm64ZExt32 predicate - True if the i64 immediate fits in a 32-bit
  // zero extended field.
  return isUInt<32>(Imm);

  }
  case 16: {
    // Predicate_Msk4Imm
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return isUInt<4>(Imm); 
  }
  case 17: {
    // Predicate_Msk8Imm
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return isUInt<8>(Imm); 
  }
  case 18: {
    // Predicate_Msk2Imm
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return isUInt<2>(Imm); 
  }
  case 19: {
    // Predicate_unindexedload
    SDNode *N = Node;
    (void)N;
if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
return true;

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

  }
  case 21: {
    // Predicate_zextloadi1
    // Predicate_extloadi1
    SDNode *N = Node;
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i1) return false;
return true;

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

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

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

  }
  case 25: {
    // Predicate_extloadf32
    SDNode *N = Node;
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::f32) return false;
return true;

  }
  case 26: {
    // 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_load_min_64
    // Predicate_atomic_load_max_64
    // Predicate_atomic_load_umin_64
    // Predicate_atomic_load_umax_64
    // Predicate_atomic_cmp_swap_64
    // Predicate_atomic_swap_64
    SDNode *N = Node;
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i64) return false;
return true;

  }
  case 27: {
    // Predicate_imm16ShiftedZExt
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

  // imm16ShiftedZExt predicate - True if only bits in the top 16-bits of the
  // immediate are set.  Used by instructions like 'xoris'.
  return (N->getZExtValue() & ~uint64_t(0xFFFF0000)) == 0;

  }
  case 28: {
    // Predicate_mul_without_simm16
    // Predicate_add_without_simm16
    SDNode *N = Node;
    (void)N;

    int16_t Imm;
    return !isIntS16Immediate(N->getOperand(0), Imm)
             && !isIntS16Immediate(N->getOperand(1), Imm);

  }
  case 29: {
    // Predicate_imm16ShiftedSExt
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

  // imm16ShiftedSExt predicate - True if only bits in the top 16-bits of the
  // immediate are set.  Used by instructions like 'addis'.  Identical to
  // imm16ShiftedZExt in 32-bit mode.
  if (N->getZExtValue() & 0xFFFF) return false;
  if (N->getValueType(0) == MVT::i32)
    return true;
  // For 64-bit, make sure it is sext right.
  return N->getZExtValue() == (uint64_t)(int)N->getZExtValue();

  }
  case 30: {
    // Predicate_maskimm32
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

  // maskImm predicate - True if immediate is a run of ones.
  unsigned mb, me;
  if (N->getValueType(0) == MVT::i32)
    return isRunOfOnes((unsigned)N->getZExtValue(), mb, me);
  else
    return false;

  }
  case 31: {
    // Predicate_immEQOneV
    SDNode *N = Node;
    (void)N;

  if (ConstantSDNode *C = cast<BuildVectorSDNode>(N)->getConstantSplatNode())
    return C->isOne();
  return false;

  }
  case 32: {
    // Predicate_imm34
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

  return isInt<34>(N->getSExtValue());

  }
  case 33: {
    // Predicate_fpimm0
    auto *N = cast<ConstantFPSDNode>(Node);
    (void)N;
 return N->isExactlyValue(+0.0); 
  }
  case 34: {
    // Predicate_fpimm0neg
    auto *N = cast<ConstantFPSDNode>(Node);
    (void)N;
return N->isExactlyValue(-0.0);
  }
  case 35: {
    // Predicate_nzFPImmAsi32
    auto *N = cast<ConstantFPSDNode>(Node);
    (void)N;

  APFloat APFloatOfN = N->getValueAPF();
  return convertToNonDenormSingle(APFloatOfN) && !N->isExactlyValue(+0.0);

  }
  case 36: {
    // Predicate_nzFPImmExactInti5
    auto *N = cast<ConstantFPSDNode>(Node);
    (void)N;

  APFloat FloatValue = N->getValueAPF();
  bool IsExact;
  APSInt IntResult(16, false);
  FloatValue.convertToInteger(IntResult, APFloat::rmTowardZero, &IsExact);
  return IsExact && IntResult <= 15 && IntResult >= -16 && !FloatValue.isZero();

  }
  case 37: {
    // Predicate_nzFPImmAsi64
    auto *N = cast<ConstantFPSDNode>(Node);
    (void)N;

  APFloat APFloatOfN = N->getValueAPF();
  return !N->isExactlyValue(+0.0) && !checkConvertToNonDenormSingle(APFloatOfN);

  }
  case 38: {
    // Predicate_immNonAllOneAnyExt8
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

  return (isInt<8>(Imm) && (Imm != -1)) || (isUInt<8>(Imm) && (Imm != 0xFF));

  }
  case 39: {
    // Predicate_immSExt5NonZero
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm && isInt<5>(Imm); 
  }
  case 40: {
    // Predicate_i32immNonAllOneNonZero
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm && (Imm != -1); 
  }
  case 41: {
    // Predicate_vecspltisb
    SDNode *N = Node;
    (void)N;

  return PPC::get_VSPLTI_elt(N, 1, *CurDAG).getNode() != nullptr;

  }
  case 42: {
    // Predicate_vecspltish
    SDNode *N = Node;
    (void)N;

  return PPC::get_VSPLTI_elt(N, 2, *CurDAG).getNode() != nullptr;

  }
  case 43: {
    // Predicate_vecspltisw
    SDNode *N = Node;
    (void)N;

  return PPC::get_VSPLTI_elt(N, 4, *CurDAG).getNode() != nullptr;

  }
  case 44: {
    // Predicate_PPCldsplatAlign16
    SDNode *N = Node;
    (void)N;

  return cast<MemIntrinsicSDNode>(N)->getAlign() >= Align(16) &&
         isOffsetMultipleOf(N, 16);

  }
  case 45: {
    // Predicate_vmrglw_unary_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGLShuffleMask(cast<ShuffleVectorSDNode>(N), 4, 1, *CurDAG);

  }
  case 46: {
    // Predicate_vmrghw_unary_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGHShuffleMask(cast<ShuffleVectorSDNode>(N), 4, 1, *CurDAG);

  }
  case 47: {
    // Predicate_vmrglw_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGLShuffleMask(cast<ShuffleVectorSDNode>(N), 4, 0, *CurDAG);

  }
  case 48: {
    // Predicate_vmrghw_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGHShuffleMask(cast<ShuffleVectorSDNode>(N), 4, 0, *CurDAG);

  }
  case 49: {
    // Predicate_vmrglw_swapped_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGLShuffleMask(cast<ShuffleVectorSDNode>(N), 4, 2, *CurDAG);

  }
  case 50: {
    // Predicate_vmrghw_swapped_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGHShuffleMask(cast<ShuffleVectorSDNode>(N), 4, 2, *CurDAG);

  }
  case 51: {
    // Predicate_vspltb_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isSplatShuffleMask(cast<ShuffleVectorSDNode>(N), 1);

  }
  case 52: {
    // Predicate_vsplth_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isSplatShuffleMask(cast<ShuffleVectorSDNode>(N), 2);

  }
  case 53: {
    // Predicate_vspltw_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isSplatShuffleMask(cast<ShuffleVectorSDNode>(N), 4);

  }
  case 54: {
    // Predicate_vsldoi_unary_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVSLDOIShuffleMask(N, 1, *CurDAG) != -1;

  }
  case 55: {
    // Predicate_vpkuwum_unary_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVPKUWUMShuffleMask(cast<ShuffleVectorSDNode>(N), 1, *CurDAG);

  }
  case 56: {
    // Predicate_vpkuhum_unary_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVPKUHUMShuffleMask(cast<ShuffleVectorSDNode>(N), 1, *CurDAG);

  }
  case 57: {
    // Predicate_vmrglb_unary_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGLShuffleMask(cast<ShuffleVectorSDNode>(N), 1, 1, *CurDAG);

  }
  case 58: {
    // Predicate_vmrglh_unary_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGLShuffleMask(cast<ShuffleVectorSDNode>(N), 2, 1, *CurDAG);

  }
  case 59: {
    // Predicate_vmrghb_unary_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGHShuffleMask(cast<ShuffleVectorSDNode>(N), 1, 1, *CurDAG);

  }
  case 60: {
    // Predicate_vmrghh_unary_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGHShuffleMask(cast<ShuffleVectorSDNode>(N), 2, 1, *CurDAG);

  }
  case 61: {
    // Predicate_vmrgew_unary_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGEOShuffleMask(cast<ShuffleVectorSDNode>(N), true, 1, *CurDAG);

  }
  case 62: {
    // Predicate_vmrgow_unary_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGEOShuffleMask(cast<ShuffleVectorSDNode>(N), false, 1, *CurDAG);

  }
  case 63: {
    // Predicate_vpkudum_unary_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVPKUDUMShuffleMask(cast<ShuffleVectorSDNode>(N), 1, *CurDAG);

  }
  case 64: {
    // Predicate_vmrghb_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGHShuffleMask(cast<ShuffleVectorSDNode>(N), 1, 0, *CurDAG);

  }
  case 65: {
    // Predicate_vmrghh_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGHShuffleMask(cast<ShuffleVectorSDNode>(N), 2, 0, *CurDAG);

  }
  case 66: {
    // Predicate_vmrglb_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGLShuffleMask(cast<ShuffleVectorSDNode>(N), 1, 0, *CurDAG);

  }
  case 67: {
    // Predicate_vmrglh_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGLShuffleMask(cast<ShuffleVectorSDNode>(N), 2, 0, *CurDAG);

  }
  case 68: {
    // Predicate_vpkuhum_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVPKUHUMShuffleMask(cast<ShuffleVectorSDNode>(N), 0, *CurDAG);

  }
  case 69: {
    // Predicate_vpkuwum_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVPKUWUMShuffleMask(cast<ShuffleVectorSDNode>(N), 0, *CurDAG);

  }
  case 70: {
    // Predicate_vsldoi_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVSLDOIShuffleMask(N, 0, *CurDAG) != -1;

  }
  case 71: {
    // Predicate_vsldoi_swapped_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVSLDOIShuffleMask(N, 2, *CurDAG) != -1;

  }
  case 72: {
    // Predicate_vpkuwum_swapped_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVPKUWUMShuffleMask(cast<ShuffleVectorSDNode>(N), 2, *CurDAG);

  }
  case 73: {
    // Predicate_vpkuhum_swapped_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVPKUHUMShuffleMask(cast<ShuffleVectorSDNode>(N), 2, *CurDAG);

  }
  case 74: {
    // Predicate_vmrglb_swapped_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGLShuffleMask(cast<ShuffleVectorSDNode>(N), 1, 2, *CurDAG);

  }
  case 75: {
    // Predicate_vmrglh_swapped_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGLShuffleMask(cast<ShuffleVectorSDNode>(N), 2, 2, *CurDAG);

  }
  case 76: {
    // Predicate_vmrghb_swapped_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGHShuffleMask(cast<ShuffleVectorSDNode>(N), 1, 2, *CurDAG);

  }
  case 77: {
    // Predicate_vmrghh_swapped_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGHShuffleMask(cast<ShuffleVectorSDNode>(N), 2, 2, *CurDAG);

  }
  case 78: {
    // Predicate_vmrgew_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGEOShuffleMask(cast<ShuffleVectorSDNode>(N), true, 0, *CurDAG);

  }
  case 79: {
    // Predicate_vmrgow_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGEOShuffleMask(cast<ShuffleVectorSDNode>(N), false, 0, *CurDAG);

  }
  case 80: {
    // Predicate_vmrgew_swapped_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGEOShuffleMask(cast<ShuffleVectorSDNode>(N), true, 2, *CurDAG);

  }
  case 81: {
    // Predicate_vmrgow_swapped_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVMRGEOShuffleMask(cast<ShuffleVectorSDNode>(N), false, 2, *CurDAG);

  }
  case 82: {
    // Predicate_vpkudum_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVPKUDUMShuffleMask(cast<ShuffleVectorSDNode>(N), 0, *CurDAG);

  }
  case 83: {
    // Predicate_vpkudum_swapped_shuffle
    SDNode *N = Node;
    (void)N;

  return PPC::isVPKUDUMShuffleMask(cast<ShuffleVectorSDNode>(N), 2, *CurDAG);

  }
  }
}
#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 SelectForceXForm(Parent, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 1:
    Result.resize(NextRes+2);
  return SelectDSForm(Parent, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 2:
    Result.resize(NextRes+2);
  return SelectXForm(Parent, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 3:
    Result.resize(NextRes+2);
  return SelectDQForm(Parent, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 4:
    Result.resize(NextRes+2);
  return SelectPDForm(Parent, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 5:
    Result.resize(NextRes+2);
  return SelectPCRelForm(Parent, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 6:
    Result.resize(NextRes+2);
  return SelectDForm(Parent, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 7:
    Result.resize(NextRes+2);
  return SelectAddrImm(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 8:
    Result.resize(NextRes+2);
  return SelectAddrIdx(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 9:
    Result.resize(NextRes+1);
  return SelectAddrImmOffs(N, Result[NextRes+0].first);
  case 10:
    Result.resize(NextRes+1);
  return SelectAddr(N, Result[NextRes+0].first);
  case 11:
    Result.resize(NextRes+2);
  return SelectAddrIdxOnly(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 12:
    Result.resize(NextRes+2);
  return SelectAddrImmX16(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 13:
    Result.resize(NextRes+2);
  return SelectAddrImmX4(N, Result[NextRes+0].first, Result[NextRes+1].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());

  // Transformation function: shift the immediate value down into the low bits.
  return getI32Imm((unsigned)N->getZExtValue() >> 16, SDLoc(N));

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

  // Transformation function: get the low 16 bits.
  return getI32Imm((unsigned short)N->getZExtValue(), SDLoc(N));

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

  return getI32Imm (N->getZExtValue(), SDLoc(N));

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

  // Transformation function: shift the immediate value down into the low bits.
  int64_t Val = N->getZExtValue();
  return getI32Imm((Val - (signed short)Val) >> 16, SDLoc(N));

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

  // Transformation function: get the start bit of a mask
  unsigned mb = 0, me;
  (void)isRunOfOnes((unsigned)N->getZExtValue(), mb, me);
  return getI32Imm(mb, SDLoc(N));

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

  // Transformation function: get the end bit of a mask
  unsigned mb, me = 0;
  (void)isRunOfOnes((unsigned)N->getZExtValue(), mb, me);
  return getI32Imm(me, SDLoc(N));

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

  // Transformation function: 32 - imm
  return N->getZExtValue() ? getI32Imm(32 - N->getZExtValue(), SDLoc(N))
                           : getI32Imm(0, SDLoc(N));

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

  // Transformation function: 64 - imm
  return N->getZExtValue() ? getI32Imm(64 - N->getZExtValue(), SDLoc(N))
                           : getI32Imm(0, SDLoc(N));

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

  // Transformation function: 31 - imm
  return getI32Imm(31 - N->getZExtValue(), SDLoc(N));

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

  // Transformation function: 63 - imm
  return getI32Imm(63 - N->getZExtValue(), SDLoc(N));

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

  return getI64Imm(N->getSExtValue(), SDLoc(N));

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

  APFloat APFloatOfN = N->getValueAPF();
  convertToNonDenormSingle(APFloatOfN);
  return CurDAG->getTargetConstant(APFloatOfN.bitcastToAPInt().getZExtValue(),
                                   SDLoc(N), MVT::i32);

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

  APFloat FloatValue = N->getValueAPF();
  bool IsExact;
  APSInt IntResult(32, false);
  FloatValue.convertToInteger(IntResult, APFloat::rmTowardZero, &IsExact);
  return CurDAG->getTargetConstant(IntResult, SDLoc(N), MVT::i32);

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

  APFloat APFloatOfN = N->getValueAPF();
  bool Unused;
  APFloatOfN.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven,
                     &Unused);
  uint32_t Hi = (uint32_t)((APFloatOfN.bitcastToAPInt().getZExtValue() &
                            0xFFFFFFFF00000000LL) >> 32);
  return CurDAG->getTargetConstant(Hi, SDLoc(N), MVT::i32);

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

  APFloat APFloatOfN = N->getValueAPF();
  bool Unused;
  APFloatOfN.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven,
                     &Unused);
  uint32_t Lo = (uint32_t)(APFloatOfN.bitcastToAPInt().getZExtValue() &
                           0xFFFFFFFF);
  return CurDAG->getTargetConstant(Lo, SDLoc(N), MVT::i32);

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

  return PPC::get_VSPLTI_elt(N, 1, *CurDAG);

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

  return PPC::get_VSPLTI_elt(N, 2, *CurDAG);

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

  return PPC::get_VSPLTI_elt(N, 4, *CurDAG);

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

  return getI32Imm(PPC::getSplatIdxForPPCMnemonics(N, 1, *CurDAG), SDLoc(N));

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

  return getI32Imm(PPC::getSplatIdxForPPCMnemonics(N, 2, *CurDAG), SDLoc(N));

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

  return getI32Imm(PPC::getSplatIdxForPPCMnemonics(N, 4, *CurDAG), SDLoc(N));

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

  return getI32Imm(PPC::isVSLDOIShuffleMask(N, 1, *CurDAG), SDLoc(N));

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

  return getI32Imm(PPC::isVSLDOIShuffleMask(N, 0, *CurDAG), SDLoc(N));

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

  return getI32Imm(PPC::isVSLDOIShuffleMask(N, 2, *CurDAG), SDLoc(N));

  }
  }
}
#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
